BitCloud Stack Documentation: Data Structures

  • Main Page
  • Data Structures
  • Files
  • Alphabetical List
  • Data Structures
  • Data Fields

BitCloud Stack Documentation Data Structures

Here are the data structures with brief descriptions:
APS_AddGroupConf_t | Parameters structure of the APS_AddGroupConf() function. The APSME-ADD-GROUP.confirm primitive
APS_AddGroupReq_t | Parameters structure of the APS_AddGroupReq() function. The APSME-ADD-GROUP.request primitive
APS_Address_t | Common APS Address type
APS_AibAttribute_t | Types of parameters which can be set to the APS AIB
APS_AibPermissionsConfiguration_t | APS SubLayer Constants
APS_DataConf_t | Parameters structure of the APS_DataReq_t::APS_DataConf() function. The APSDE-DATA.confirm primitive
APS_DataInd_t | Parameters structure of the APS_RegisterEndpointReq_t::APS_DataInd() function The function is determined by certain End Point. The APSDE-DATA.indication primitive
APS_DataReq_t | Parameters structure of the APS_DataReq() function. The APSDE-DATA.request primitive
APS_GetConf_t | Parameters structure of the APS_GetConf() function. The APSME-GET.confirm primitive
APS_GetReq_t | Parameters structure of the APS_GetReq() function. The APSME-GET.request primitive
APS_RegisterEndpointReq_t | Parameters structure of the APS_RegisterEndpointReq() function. APSME-REGISTER-ENDPOINT.request primitive
APS_RemoveAllGroupsConf_t | Parameters structure of the APS_RemoveAllGroupsConf() function. The APSME-REMOVE-ALL-GROUPS.confirm primitive
APS_RemoveAllGroupsReq_t | Parameters structure of the APS_RemoveAllGroupsReq() function. The APSME-REMOVE-ALL-GROUPS.request primitive
APS_RemoveGroupConf_t | Parameters structure of the APS_RemoveGroupConf() function. The APSME-REMOVE-GROUP.confirm primitive
APS_RemoveGroupReq_t | Parameters structure of the APS_RemoveGroupReq() function. The APSME-REMOVE-GROUP.request primitive
APS_SetConf_t | Parameters structure of the APS_SetConf() function The APSME-SET.confirm primitive
APS_SetReq_t | Parameters structure of the APS_SetReq() function The APSME-SET.request primitive
APS_TxOptions_t | Describes the options of data transmission
APS_UnregisterEndpointReq_t | Parameters structure of the APS_UnregisterEndpointReq() function. APSME-UNREGISTER-ENDPOINT.request primitive
ComplexDescriptor_t | Complex Descriptor
ComplexDescriptorField_t | Complex Descriptor field
EDScan_t | This information is provided to enable ZigBee devices to report the condition on local channels to a network manager. The scanned channel list is the report of channels scanned and it is followed by a list of records, one for each channel scanned, each record including one byte of the energy level measured during the scan, or 0xff if there is too much interference on this channel
HAL_AdcParams_t | Adc structure of parameters
HAL_EepromParams_t | Eeprom access control structure
HAL_i2cMode_t | I2c baud rate TWI clock rate
HAL_I2cParams_t | I2c access control structure
HAL_UartDescriptor_t | Uart descriptor
HAL_UsbEndPointDescptr_t |
MacCapabilityFlags_t | MAC capability flags
NetworkInf_t | This information is provided to inform an application about new network parameters if a device rejoined a network
NodeAddr_t | Information about the addresses of a device
NodeDescriptor_t | Node descriptor
PowerDescriptor_t | Power descriptor
SimpleDescriptor_t | Simple Descriptor
UserDescriptor_t | User descriptor
ZDO_ActiveEPReq_t | This request is generated from a local device wishing to acquire the list of endpoints on a remote device with simple descriptors. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device
ZDO_ActiveEPResp_t | This command is generated by a remote device in response to an Active_EP_req directed to the remote device. This command shall be unicast to the originator of the Active_EP_req command
ZDO_ComplexDescReq_t | This request is generated from a local device wishing to inquire as to the complex descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device
ZDO_ComplexDescResp_t | This command is generated by a remote device in response to a Complex_Desc_req directed to the remote device. This command shall be unicast to the originator of the Complex_Desc_req command
ZDO_DeviceAnnceReq_t | This request is provided to enable ZigBee devices on the network to notify other ZigBee devices that the device has joined or re-joined the network, identifying the devices 64-bit IEEE address and new 16-bit NWK address, and informing the Remote Devices of the capability of the ZigBee device. This command shall be invoked for all ZigBee end devices upon join or rejoin. This command may also be invoked by ZigBee routers upon join or rejoin as part of NWK address conflict resolution. The destination addressing on this primitive is broadcast to all devices for which macRxOnWhenIdle = TRUE
ZDO_GetChildrenAddr_t | Describes the parameters of the ZDO_ChildrenAddrReq() function
ZDO_GetLqiRssi_t | Describes the parameters of the ZDO_LqiRssiReq() function
ZDO_GetNeibAmount_t | Describes the parameters of the ZDO_GetNeibAmount() function
ZDO_IeeeAddrReq_t | This request is generated from a Local Device wishing to inquire as to the 64-bit IEEE address of the Remote Device based on their known 16-bit address. The destination addressing on this command shall be unicast
ZDO_IeeeAddrResp_t | This command is generated by a Remote Device in response to an IEEE_addr_req command inquiring as to the 64-bit IEEE address of the Remote Device or the 64-bit IEEE address of an address held in a local discovery cache. The destination addressing on this command shall be unicast
ZDO_MgmtLeaveReq_t | This request is generated from a Local Device requesting that a Remote Device leave the network or to request that another device leave the network. The Mgmt_Leave_req is generated by a management application which directs the request to a Remote Device where the NLME-LEAVE.request is to be executed using the parameter supplied by Mgmt_Leave_req
ZDO_MgmtLqiReq_t | Desribes the parameters of the LQI request
ZDO_MgmtLqiResp_t | Desribes the parameters of the LQI response
ZDO_MgmtNwkUpdateNotf_t | This information is provided to notify application about network events
ZDO_MgmtNwkUpdateReq_t | This command is provided to allow updating of network configuration parameters or to request information from devices on network conditions in the local operating environment. The destination addressing on this primitive shall be unicast or broadcast to all devices for which macRxOnWhenIdle = TRUE
ZDO_MgmtPermitJoiningReq_t | This request is generated from a Local Device requesting that a remote device or devices allow or disallow association
ZDO_Neib_t | Describes neighbor table entry
ZDO_NodeDescReq_t | This request is generated from a local device wishing to inquire as to the node descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device
ZDO_NodeDescResp_t | This command is generated by a remote device in response to a Node_Desc_req directed to the remote device. This command shall be unicast to the originator of the Node_Desc_req command
ZDO_NwkAddrReq_t | This request is generated from a Local Device wishing to inquire as to the 16-bit address of the Remote Device based on its known IEEE address. The destination addressing on this command shall be unicast or broadcast to all devices for which macRxOnWhenIdle = TRUE
ZDO_NwkAddrResp_t | This command is generated by a Remote Device in response to a NWK_addr_req command inquiring as to the NWK address of the Remote Device or the NWK address of an address held in a local discovery cache. The destination addressing on this command is unicast
ZDO_PowerDescReq_t | This request is generated from a local device wishing to inquire as to the power descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device
ZDO_PowerDescResp_t | This command is generated by a remote device in response to a Power_Desc_req directed to the remote device. This command shall be unicast to the originator of the Power_Desc_req command
ZDO_ResetNetworkConf_t | Desribes the parameters of the ZDO_ResetNetworkConf() function
ZDO_ResetNetworkReq_t | Describes the parameters of the ZDO_ResetNetworkReq() function
ZDO_SetTxPowerConf_t | Describes the parameters of the ZDO_SetTxPowerConf() function
ZDO_SetTxPowerReq_t | Describes the parameters of the ZDO_SetTxPowerReq() function
ZDO_SimpleDescReq_t | This request is generated from a local device wishing to inquire as to the simple descriptor of a remote device on a specified endpoint. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device
ZDO_SimpleDescResp_t | This command is generated by a remote device in response to a Simple_Desc_req directed to the remote device. This command shall be unicast to the originator of the Simple_Desc_req command
ZDO_SleepConf_t | Desribes the parameters of the ZDO_SleepConf() function
ZDO_SleepReq_t | Describes the parameters of the ZDO_SleepReq() function
ZDO_StartNetworkConf_t | Describes the parameters of the ZDO_StartNetworkConf() function
ZDO_StartNetworkReq_t | Describes the parameters of the ZDO_StartNetworkReq() function
ZDO_SystemServerDiscoveryReq_t | This request is generated from a Local Device wishing to discover the location of a particular system server or servers as indicated by the ServerMask parameter. The destination addressing on this request is broadcast to all devices for which macRxOnWhenIdle = TRUE
ZDO_SystemServerDiscoveryResp_t | This command is generated from Remote Devices on receipt of a System_Server_Discovery_req primitive if the parameter matches the Server Mask field in its node descriptor. If there is no match, the System_Server_Discovery_req shall be ignored and no response given. Matching is performed by masking the ServerMask parameter of the System_Server_Discovery_req with the Server Mask field in the node descriptor. This command shall be unicast to the device which sent System_Server_Discovery_req with Acknowledge request set in TxOptions. The parameter ServerMask contains the bits in the parameter of the request which match the server mask in the node descriptor
ZDO_UserDescConfResp_t | This command is generated by a remote device in response to a User_Desc_set directed to the remote device. This command shall be unicast to the originator of the User_Desc_set command
ZDO_UserDescReq_t | This request is generated from a local device wishing to inquire as to the user descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device
ZDO_UserDescResp_t | The User_Desc_rsp is generated by a remote device in response to a User_Desc_req directed to the remote device. This command shall be unicast to the originator of the User_Desc_req command
ZDO_UserDescSetReq_t | This is generated from a local device wishing to configure the user descriptor on a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device
ZDO_WakeUpConf_t | Describes the parameters of the ZDO_WakeUp() function
ZDO_WakeUpReq_t | Describes the parameters of the ZDO_SleepReq() function
ZDO_ZdpFrame_t | Frame for transmission one of the ZDP requests
ZDO_ZdpReq_t | ZDP request. Describes the parameters of the ZDO_ZdpReq() function
ZDO_ZdpReqFrame_t | This struct contains one of the ZDP requests
ZDO_ZdpResp_t | ZDP response
ZDO_ZdpRespFrame_t | This struct contains response to one of the ZDP requests
ZdpSimpleDescriptor_t | The simple descriptor contains information specific to each endpoint contained in this node. The simple descriptor is mandatory for each endpoint present in the node
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: APS_AddGroupConf_t Struct Reference

  • Alphabetical List
  • Data Fields

APS_AddGroupConf_t Struct Reference

Parameters structure of the APS_AddGroupConf() function. The APSME-ADD-GROUP.confirm primitive. More...

#include <aps.h>

Data Fields

APS_Status_t status

Detailed Description

Parameters structure of the APS_AddGroupConf() function. The APSME-ADD-GROUP.confirm primitive.

Definition at line 638 of file aps.h.

Field Documentation

APS_Status_t APS_AddGroupConf_t::status

The status of the request to add a group.

Definition at line 642 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_AddGroupReq_t Struct Reference

APS_AddGroupReq_t Struct Reference

Parameters structure of the APS_AddGroupReq() function. The APSME-ADD-GROUP.request primitive. More...

#include <aps.h>

Data Fields

GroupAddr_t groupAddress
Endpoint_t endpoint
APS_AddGroupConf_t confirm

Detailed Description

Parameters structure of the APS_AddGroupReq() function. The APSME-ADD-GROUP.request primitive.

Definition at line 650 of file aps.h.

Field Documentation

GroupAddr_t APS_AddGroupReq_t::groupAddress

The 16-bit address of the group being added.

Definition at line 654 of file aps.h.

Endpoint_t APS_AddGroupReq_t::endpoint

The endpoint to which the given group is being added.

Definition at line 656 of file aps.h.

APS_AddGroupConf_t APS_AddGroupReq_t::confirm

The confirm primitive as transaction result

Definition at line 660 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_Address_t Struct Reference

APS_Address_t Struct Reference

Common APS Address type. More...

#include <aps.h>

Data Fields

union {
ShortAddr_t shortAddress
16-bit network address
GroupAddr_t groupAddress
16-bit group (multicast) address
};
ExtAddr_t extAddress
64-bit extended IEEE address

Detailed Description

Common APS Address type.

Used as the part of standard APS primitives

Definition at line 126 of file aps.h.

Field Documentation

ShortAddr_t APS_Address_t::shortAddress

16-bit network address

Definition at line 130 of file aps.h.

GroupAddr_t APS_Address_t::groupAddress

16-bit group (multicast) address

Definition at line 132 of file aps.h.

union { ... }

ExtAddr_t APS_Address_t::extAddress

64-bit extended IEEE address

Definition at line 135 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_AibAttribute_t Union Reference

APS_AibAttribute_t Union Reference

Types of parameters which can be set to the APS AIB. More...

#include <aps.h>

Data Fields

void * | apsBindingTable
apsBindingTable pointer
bool | apsDesignatedCoordinator
apsDesignatedCoordinator value
uint32_t | apsChannelMask
apsChannelMask value
uint64_t | apsUseExtendedPANID
apsUseExtendedPANID value
APS_GroupTable_t * | apsGroupTable
apsGroupTable pointer
uint8_t | apsNonmemberRadius
apsNonmemberRadius value
APS_AibPermissionsConfiguration_t * apsPermissionsConfiguration
apsPermissionsConfiguration pointer
bool | apsUseInsecureJoin
apsUseInsecureJoin value
uint16_t | apsInterframeDelay
apsInterframeDelay value
void * | apsDeviceKeyPairSet
apsDeviceKeyPairSet pointer
uint64_t | apsTrustCenterAddress
apsTrustCenterAddress value
uint16_t | apsSecurityTimeOutPeriod
apsSecurityTimeOutPeriod value

Detailed Description

Types of parameters which can be set to the APS AIB.

Types of parameters which can be set to the APS AIB

This union used in AIB management primitives to interpret the particular parameter values

Definition at line 297 of file aps.h.

Field Documentation

void* APS_AibAttribute_t::apsBindingTable

apsBindingTable pointer

Definition at line 301 of file aps.h.

bool APS_AibAttribute_t::apsDesignatedCoordinator

apsDesignatedCoordinator value

Definition at line 302 of file aps.h.

uint32_t APS_AibAttribute_t::apsChannelMask

apsChannelMask value

Definition at line 303 of file aps.h.

uint64_t APS_AibAttribute_t::apsUseExtendedPANID

apsUseExtendedPANID value

Definition at line 304 of file aps.h.

APS_GroupTable_t* APS_AibAttribute_t::apsGroupTable

apsGroupTable pointer

Definition at line 305 of file aps.h.

uint8_t APS_AibAttribute_t::apsNonmemberRadius

apsNonmemberRadius value

Definition at line 306 of file aps.h.

APS_AibPermissionsConfiguration_t* APS_AibAttribute_t::apsPermissionsConfiguration

apsPermissionsConfiguration pointer

Definition at line 309 of file aps.h.

bool APS_AibAttribute_t::apsUseInsecureJoin

apsUseInsecureJoin value

Definition at line 311 of file aps.h.

uint16_t APS_AibAttribute_t::apsInterframeDelay

apsInterframeDelay value

Definition at line 312 of file aps.h.

void* APS_AibAttribute_t::apsDeviceKeyPairSet

apsDeviceKeyPairSet pointer

Definition at line 315 of file aps.h.

uint64_t APS_AibAttribute_t::apsTrustCenterAddress

apsTrustCenterAddress value

Definition at line 316 of file aps.h.

uint16_t APS_AibAttribute_t::apsSecurityTimeOutPeriod

apsSecurityTimeOutPeriod value

Definition at line 317 of file aps.h.

The documentation for this union was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_AibPermissionsConfiguration_t Struct Reference

APS_AibPermissionsConfiguration_t Struct Reference

APS SubLayer Constants. More...

#include <aps.h>

Data Fields

uint8_t | apscMaxDescriptorSize
apscMaxDescriptorSize
uint8_t | apscMaxFrameRetries
apscMaxFrameRetries
uint32_t | apscAckWaitDuration
apscAckWaitDuration
uint8_t | apscMinDuplicateRejectionTableSize
apscMinDuplicateRejectionTableSize
uint8_t | apscMaxWindowSize
apscMaxWindowSize
uint16_t | apscInterframeDelay
apscInterframeDelay
uint8_t | apscMinHeaderOverHead
apscMinHeaderOverHead

Detailed Description

APS SubLayer Constants.

APS constants stored in AIB

The constants defining the characteristics of the APS sub-layer

Definition at line 249 of file aps.h.

Field Documentation

uint8_t APS_AibPermissionsConfiguration_t::apscMaxDescriptorSize

apscMaxDescriptorSize

Definition at line 251 of file aps.h.

uint8_t APS_AibPermissionsConfiguration_t::apscMaxFrameRetries

apscMaxFrameRetries

Definition at line 252 of file aps.h.

uint32_t APS_AibPermissionsConfiguration_t::apscAckWaitDuration

apscAckWaitDuration

Definition at line 253 of file aps.h.

uint8_t APS_AibPermissionsConfiguration_t::apscMinDuplicateRejectionTableSize

apscMinDuplicateRejectionTableSize

Definition at line 254 of file aps.h.

uint8_t APS_AibPermissionsConfiguration_t::apscMaxWindowSize

apscMaxWindowSize

Definition at line 255 of file aps.h.

uint16_t APS_AibPermissionsConfiguration_t::apscInterframeDelay

apscInterframeDelay

Definition at line 256 of file aps.h.

uint8_t APS_AibPermissionsConfiguration_t::apscMinHeaderOverHead

apscMinHeaderOverHead

Definition at line 257 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_DataConf_t Struct Reference

APS_DataConf_t Struct Reference

Parameters structure of the APS_DataReq_t::APS_DataConf() function. The APSDE-DATA.confirm primitive. More...

#include <aps.h>

Data Fields

APS_Status_t status
The status of the corresponding request.
uint32_t txTime
Timestamp for the transmitted packet based on the local clock, as provided by the NWK layer.

Detailed Description

Parameters structure of the APS_DataReq_t::APS_DataConf() function. The APSDE-DATA.confirm primitive.

Definition at line 331 of file aps.h.

Field Documentation

APS_Status_t APS_DataConf_t::status

The status of the corresponding request.

Definition at line 338 of file aps.h.

uint32_t APS_DataConf_t::txTime

Timestamp for the transmitted packet based on the local clock, as provided by the NWK layer.

Definition at line 339 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_DataInd_t Struct Reference

APS_DataInd_t Struct Reference

Parameters structure of the APS_RegisterEndpointReq_t::APS_DataInd() function The function is determined by certain End Point. The APSDE-DATA.indication primitive. More...

#include <aps.h>

Data Fields

APS_AddrMode_t dstAddrMode
APS_Address_t dstAddress
Endpoint_t dstEndpoint
APS_AddrMode_t srcAddrMode
APS_Address_t srcAddress
Endpoint_t srcEndpoint
ProfileId_t profileId
ClusterId_t clusterId
uint8_t | asduLength
uint8_t * | asdu
APS_Status_t status
APS_Status_t securityStatus
uint8_t | linkQuality
uint32_t | rxTime

Detailed Description

Parameters structure of the APS_RegisterEndpointReq_t::APS_DataInd() function The function is determined by certain End Point. The APSDE-DATA.indication primitive.

Definition at line 435 of file aps.h.

Field Documentation

APS_AddrMode_t APS_DataInd_t::dstAddrMode

The addressing mode for the destination address used in this primitive and of the APDU that has been received. May possess any non-reserved value from the following list:
0x00 = reserved
0x01 = 16-bit group address for DstAddress; DstEndpoint is missing
0x02 = 16-bit address for DstAddress, DstEndpoint is present
0x03 - 0xff = reserved
Note: It will be convenient to use the APS_AddrMode_t values

Definition at line 444 of file aps.h.

APS_Address_t APS_DataInd_t::dstAddress

The individual device address or group address to which the ASDU is directed. Value size depends on the dstAddrMode parameter

Definition at line 447 of file aps.h.

Endpoint_t APS_DataInd_t::dstEndpoint

The target endpoint on the local entity to which the ASDU is directed.

Definition at line 449 of file aps.h.

APS_AddrMode_t APS_DataInd_t::srcAddrMode

The addressing mode for the source address used in this primitive and of the APDU that has been received. May possess any non-reserved value from the following list:
0x00 = reserved
0x01 = reserved
0x02 = 16-bit short address for SrcAddress, SrcEndpoint is present
0x03 = 64-bit extended address for SrcAddress, SrcEndpoint is present
0x04 - 0xff = reserved
Note: It will be convenient to use the APS_AddrMode_t values

Definition at line 458 of file aps.h.

APS_Address_t APS_DataInd_t::srcAddress

The individual device address of the entity from which the ASDU has been received. Value type and size is depend of the srcAddrMode parameter

Definition at line 461 of file aps.h.

Endpoint_t APS_DataInd_t::srcEndpoint

The number of the individual endpoint of the entity from which the ASDU has been received.

Definition at line 464 of file aps.h.

ProfileId_t APS_DataInd_t::profileId

The identifier of the profile from which this frame originates.

Definition at line 466 of file aps.h.

ClusterId_t APS_DataInd_t::clusterId

The identifier of the received object.

Definition at line 468 of file aps.h.

uint8_t APS_DataInd_t::asduLength

The number of octets comprising the ASDU being indicated by the APSDE.

Definition at line 470 of file aps.h.

uint8_t* APS_DataInd_t::asdu

The set of octets comprising the ASDU being indicated by the APSDE.

Definition at line 472 of file aps.h.

APS_Status_t APS_DataInd_t::status

The status of the incoming frame processing.

Definition at line 474 of file aps.h.

APS_Status_t APS_DataInd_t::securityStatus

UNSECURED if the ASDU was received without any security.
SECURED_NWK_KEY if the received ASDU was secured with the NWK key.
SECURED_LINK_KEY if the ASDU was secured with a link key.

Definition at line 478 of file aps.h.

uint8_t APS_DataInd_t::linkQuality

The link quality indication delivered by the NLDE.

Definition at line 480 of file aps.h.

uint32_t APS_DataInd_t::rxTime

Timestamp for the received packet based on the local clock, as provided by the NWK layer.

Definition at line 483 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_DataReq_t Struct Reference

APS_DataReq_t Struct Reference

Parameters structure of the APS_DataReq() function. The APSDE-DATA.request primitive. More...

#include <aps.h>

Data Fields

struct {
void * next
} service
APS_AddrMode_t dstAddrMode
APS_Address_t dstAddress
Endpoint_t dstEndpoint
ProfileId_t profileId
ClusterId_t clusterId
Endpoint_t srcEndpoint
uint8_t | asduLength
uint8_t * | asdu
APS_TxOptions_t txOptions
uint8_t | radius
void(* | APS_DataConf )(APS_DataConf_t *conf)
APS_DataConf_t confirm
Confirm primitive as a parameter of the callback function.

Detailed Description

Parameters structure of the APS_DataReq() function. The APSDE-DATA.request primitive.

Definition at line 364 of file aps.h.

Field Documentation

void* APS_DataReq_t::next

Definition at line 370 of file aps.h.

struct { ... } APS_DataReq_t::service

Used for queue support

APS_AddrMode_t APS_DataReq_t::dstAddrMode

The addressing mode for the destination address used in this primitive and the APDU to be transferred. May possess any non-reserved value from the following list:
0x00 = DstAddress and DstEndpoint are missing
0x01 = 16-bit group address for DstAddress, DstEndpoint is missing
0x02 = 16-bit address for DstAddress, DstEndpoint is present
0x03 = 64-bit extended address for DstAddress, DstEndpoint is present
0x04 - 0xff = reserved
Note: It will be convenient to use the APS_AddrMode_t values

Definition at line 384 of file aps.h.

APS_Address_t APS_DataReq_t::dstAddress

The address of the individual device or group address of the entity to which the ASDU is being transferred.

Definition at line 388 of file aps.h.

Endpoint_t APS_DataReq_t::dstEndpoint

This parameter shall be present if and only if the DstAddrMode parameter value is 0x02 or 0x03 and, if present, shall contain either the number of individual endpoints of the entity to which the ASDU is being transferred, or the broadcast endpoint (0xff).

Definition at line 394 of file aps.h.

ProfileId_t APS_DataReq_t::profileId

The identifier of the profile for which this frame is intended.

Definition at line 396 of file aps.h.

ClusterId_t APS_DataReq_t::clusterId

The identifier of the object for which this frame is intended.

Definition at line 398 of file aps.h.

Endpoint_t APS_DataReq_t::srcEndpoint

The individual endpoint of the entity from which the ASDU is being transferred.

Definition at line 400 of file aps.h.

uint8_t APS_DataReq_t::asduLength

The number of octets comprising the ASDU to be transferred. The maximum length of an individual APS frame payload is given as NsduLength-apscMinHeaderOverhead. Assuming the possibility of fragmentation, a maximum-sized single ASDU consists of 256 such blocks.

Definition at line 405 of file aps.h.

uint8_t* APS_DataReq_t::asdu

The set of octets comprising the ASDU to be transferred.

Definition at line 407 of file aps.h.

APS_TxOptions_t APS_DataReq_t::txOptions

<0000 xxxx> (Where x can be 0 or 1) The transmission options for the ASDU to be transferred. Must be selected among the following values:
0x01 = Security enabled transmission,
0x02 = Use NWK key,
0x04 = Acknowledged transmission,
0x08 = Fragmentation permitted,
probably combined by logical OR.
It is fine to use the APS_TxOptions_t enumerations.

Definition at line 417 of file aps.h.

uint8_t APS_DataReq_t::radius

The distance, in hops, that a transmitted frame will be allowed to travel via the network.

Definition at line 421 of file aps.h.

void(* APS_DataReq_t::APS_DataConf)(APS_DataConf_t *conf)

Callback function pointer as a handler of corresponding confirm primitive

APS_DataConf_t APS_DataReq_t::confirm

Confirm primitive as a parameter of the callback function.

Definition at line 425 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_GetConf_t Struct Reference

APS_GetConf_t Struct Reference

Parameters structure of the APS_GetConf() function. The APSME-GET.confirm primitive. More...

#include <aps.h>

Data Fields

APS_Status_t status
uint16_t aibAttributeLength
APS_AibAttribute_t aibAttributeValue

Detailed Description

Parameters structure of the APS_GetConf() function. The APSME-GET.confirm primitive.

Definition at line 565 of file aps.h.

Field Documentation

APS_Status_t APS_GetConf_t::status

The results of the request to read an AIB attribute value.

Definition at line 569 of file aps.h.

uint16_t APS_GetConf_t::aibAttributeLength

The length, in octets, of the attribute value being returned.

Definition at line 571 of file aps.h.

APS_AibAttribute_t APS_GetConf_t::aibAttributeValue

The value of the AIB attribute that was read.

Definition at line 573 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_GetReq_t Struct Reference

APS_GetReq_t Struct Reference

Parameters structure of the APS_GetReq() function. The APSME-GET.request primitive. More...

#include <aps.h>

Data Fields

APS_AibAttributeId_t aibAttribute
APS_GetConf_t confirm

Detailed Description

Parameters structure of the APS_GetReq() function. The APSME-GET.request primitive.

Definition at line 582 of file aps.h.

Field Documentation

APS_AibAttributeId_t APS_GetReq_t::aibAttribute

The identifier of the AIB attribute to read.

Definition at line 586 of file aps.h.

APS_GetConf_t APS_GetReq_t::confirm

The confirm primitive as transaction result

Definition at line 590 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_RegisterEndpointReq_t Struct Reference

APS_RegisterEndpointReq_t Struct Reference

Parameters structure of the APS_RegisterEndpointReq() function. APSME-REGISTER-ENDPOINT.request primitive. More...

#include <aps.h>

Data Fields

struct {
void * next
struct {
uint8_t noIndication:1
uint8_t reserved:7
}
} service
SimpleDescriptor_t * simpleDescriptor
void(* APS_DataInd )(APS_DataInd_t *ind)

Detailed Description

Parameters structure of the APS_RegisterEndpointReq() function. APSME-REGISTER-ENDPOINT.request primitive.

Definition at line 1306 of file aps.h.

Field Documentation

void* APS_RegisterEndpointReq_t::next

Definition at line 1312 of file aps.h.

uint8_t APS_RegisterEndpointReq_t::noIndication

Definition at line 1315 of file aps.h.

uint8_t APS_RegisterEndpointReq_t::reserved

Definition at line 1316 of file aps.h.

struct { ... } APS_RegisterEndpointReq_t::service

Used for queue support

SimpleDescriptor_t* APS_RegisterEndpointReq_t::simpleDescriptor

Simple descriptor pointer

Definition at line 1322 of file aps.h.

void(* APS_RegisterEndpointReq_t::APS_DataInd)(APS_DataInd_t *ind)

The APSDE-DATA.indication handler pointer for endpoint should be registered.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_RemoveAllGroupsConf_t Struct Reference

APS_RemoveAllGroupsConf_t Struct Reference

Parameters structure of the APS_RemoveAllGroupsConf() function. The APSME-REMOVE-ALL-GROUPS.confirm primitive. More...

#include <aps.h>

Data Fields

APS_Status_t status

Detailed Description

Parameters structure of the APS_RemoveAllGroupsConf() function. The APSME-REMOVE-ALL-GROUPS.confirm primitive.

Definition at line 700 of file aps.h.

Field Documentation

APS_Status_t APS_RemoveAllGroupsConf_t::status

The status of the request to remove all groups.

Definition at line 704 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_RemoveAllGroupsReq_t Struct Reference

APS_RemoveAllGroupsReq_t Struct Reference

Parameters structure of the APS_RemoveAllGroupsReq() function. The APSME-REMOVE-ALL-GROUPS.request primitive. More...

#include <aps.h>

Data Fields

Endpoint_t endpoint
APS_RemoveAllGroupsConf_t confirm

Detailed Description

Parameters structure of the APS_RemoveAllGroupsReq() function. The APSME-REMOVE-ALL-GROUPS.request primitive.

Definition at line 712 of file aps.h.

Field Documentation

Endpoint_t APS_RemoveAllGroupsReq_t::endpoint

The endpoint from which the group is being removed.

Definition at line 716 of file aps.h.

APS_RemoveAllGroupsConf_t APS_RemoveAllGroupsReq_t::confirm

The confirm primitive as transaction result.

Definition at line 720 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_RemoveGroupConf_t Struct Reference

APS_RemoveGroupConf_t Struct Reference

Parameters structure of the APS_RemoveGroupConf() function. The APSME-REMOVE-GROUP.confirm primitive. More...

#include <aps.h>

Data Fields

APS_Status_t status

Detailed Description

Parameters structure of the APS_RemoveGroupConf() function. The APSME-REMOVE-GROUP.confirm primitive.

Definition at line 669 of file aps.h.

Field Documentation

APS_Status_t APS_RemoveGroupConf_t::status

The status of the request to remove a group.

Definition at line 673 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_RemoveGroupReq_t Struct Reference

APS_RemoveGroupReq_t Struct Reference

Parameters structure of the APS_RemoveGroupReq() function. The APSME-REMOVE-GROUP.request primitive. More...

#include <aps.h>

Data Fields

GroupAddr_t groupAddress
Endpoint_t endpoint
APS_RemoveGroupConf_t confirm

Detailed Description

Parameters structure of the APS_RemoveGroupReq() function. The APSME-REMOVE-GROUP.request primitive.

Definition at line 681 of file aps.h.

Field Documentation

GroupAddr_t APS_RemoveGroupReq_t::groupAddress

The 16-bit address of the group being removed.

Definition at line 685 of file aps.h.

Endpoint_t APS_RemoveGroupReq_t::endpoint

The endpoint from which the given group is being removed.

Definition at line 687 of file aps.h.

APS_RemoveGroupConf_t APS_RemoveGroupReq_t::confirm

The confirm primitive as transaction result

Definition at line 691 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_SetConf_t Struct Reference

APS_SetConf_t Struct Reference

Parameters structure of the APS_SetConf() function The APSME-SET.confirm primitive. More...

#include <aps.h>

Data Fields

APS_Status_t status

Detailed Description

Parameters structure of the APS_SetConf() function The APSME-SET.confirm primitive.

Definition at line 599 of file aps.h.

Field Documentation

APS_Status_t APS_SetConf_t::status

The result of the request to write the AIB Attribute.

Definition at line 603 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_SetReq_t Struct Reference

APS_SetReq_t Struct Reference

Parameters structure of the APS_SetReq() function The APSME-SET.request primitive. More...

#include <aps.h>

Data Fields

APS_AibAttributeId_t aibAttribute
uint16_t aibAttributeLength
APS_AibAttribute_t aibAttributeValue
APS_SetConf_t confirm

Detailed Description

Parameters structure of the APS_SetReq() function The APSME-SET.request primitive.

Definition at line 612 of file aps.h.

Field Documentation

APS_AibAttributeId_t APS_SetReq_t::aibAttribute

The identifier of the AIB attribute to be written.

Definition at line 616 of file aps.h.

uint16_t APS_SetReq_t::aibAttributeLength

The length, in octets, of the attribute value being set.

Definition at line 618 of file aps.h.

APS_AibAttribute_t APS_SetReq_t::aibAttributeValue

The value of the AIB attribute that should be written.

Definition at line 620 of file aps.h.

APS_SetConf_t APS_SetReq_t::confirm

The confirm primitive as transaction result

Definition at line 624 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_TxOptions_t Struct Reference

APS_TxOptions_t Struct Reference

Describes the options of data transmission. More...

#include <aps.h>

Data Fields

uint8_t | securityEnabledTransmission:1
Security enabled transmission.
uint8_t | useNwkKey:1
Use NWK key.
uint8_t | acknowledgedTransmission:1
Acknowledged transmission.
uint8_t | fragmentationPermitted:1
Fragmentation permitted.
uint8_t | reserved:4
Reserved. Should always be zero.

Detailed Description

Describes the options of data transmission.

Definition at line 349 of file aps.h.

Field Documentation

uint8_t APS_TxOptions_t::securityEnabledTransmission

Security enabled transmission.

Definition at line 351 of file aps.h.

uint8_t APS_TxOptions_t::useNwkKey

Use NWK key.

Definition at line 352 of file aps.h.

uint8_t APS_TxOptions_t::acknowledgedTransmission

Acknowledged transmission.

Definition at line 353 of file aps.h.

uint8_t APS_TxOptions_t::fragmentationPermitted

Fragmentation permitted.

Definition at line 354 of file aps.h.

uint8_t APS_TxOptions_t::reserved

Reserved. Should always be zero.

Definition at line 355 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: APS_UnregisterEndpointReq_t Struct Reference

APS_UnregisterEndpointReq_t Struct Reference

Parameters structure of the APS_UnregisterEndpointReq() function. APSME-UNREGISTER-ENDPOINT.request primitive. More...

#include <aps.h>

Data Fields

Endpoint_t endpoint

Detailed Description

Parameters structure of the APS_UnregisterEndpointReq() function. APSME-UNREGISTER-ENDPOINT.request primitive.

Definition at line 1332 of file aps.h.

Field Documentation

Endpoint_t APS_UnregisterEndpointReq_t::endpoint

The endpoint which should be unregistered.

Definition at line 1336 of file aps.h.

The documentation for this struct was generated from the following file:
  • aps.h


BitCloud Stack Documentation: ComplexDescriptor_t Struct Reference

ComplexDescriptor_t Struct Reference

Complex Descriptor. More...

#include <appFramework.h>

Data Fields

uint8_t FieldCount
ComplexDescriptorField_t * pFields

Detailed Description

Complex Descriptor.

Used optionally.
Consists of compressed XML tags.
The overall length shall be less than or equal to apscMaxDescriptorSize.

Definition at line 309 of file appFramework.h.

Field Documentation

uint8_t ComplexDescriptor_t::FieldCount

Field count.

Definition at line 312 of file appFramework.h.

ComplexDescriptorField_t* ComplexDescriptor_t::pFields

List of fields.

Definition at line 314 of file appFramework.h.

The documentation for this struct was generated from the following file:
  • appFramework.h


BitCloud Stack Documentation: ComplexDescriptorField_t Struct Reference

ComplexDescriptorField_t Struct Reference

Complex Descriptor field. More...

#include <appFramework.h>

Data Fields

uint8_t | CompressedXMLTag
uint8_t * | pDataField

Detailed Description

Complex Descriptor field.

Definition at line 286 of file appFramework.h.

Field Documentation

uint8_t ComplexDescriptorField_t::CompressedXMLTag

Field type.
Possible values:
0x00 - Reserved
0x01 - ISO 639-1 language code
0x02 - Manufacturer name
0x03 - Model name
0x04 - Serial number
0x05 - Device URL
0x06 - Icon
0x07 - Icon URL
0x08-0xFF - Reserved.

Definition at line 299 of file appFramework.h.

uint8_t* ComplexDescriptorField_t::pDataField

Field contents.

Definition at line 301 of file appFramework.h.

The documentation for this struct was generated from the following file:
  • appFramework.h


BitCloud Stack Documentation: EDScan_t Struct Reference

EDScan_t Struct Reference

This information is provided to enable ZigBee devices to report the condition on local channels to a network manager. The scanned channel list is the report of channels scanned and it is followed by a list of records, one for each channel scanned, each record including one byte of the energy level measured during the scan, or 0xff if there is too much interference on this channel. More...

#include <zdo.h>

Data Fields

uint32_t | scannedChannels
Bit mask of channels scanned by the request.
uint16_t | totalTransmissions
Count of transmissions reported by the device.
uint16_t | transmissionsFailures
Count of transmission failures reported by the device.
uint8_t | scannedChannelsListCount
Number of records contained in the energyValues[] list.
uint8_t | energyValues [32]

Detailed Description

This information is provided to enable ZigBee devices to report the condition on local channels to a network manager. The scanned channel list is the report of channels scanned and it is followed by a list of records, one for each channel scanned, each record including one byte of the energy level measured during the scan, or 0xff if there is too much interference on this channel.

Definition at line 266 of file zdo.h.

Field Documentation

uint32_t EDScan_t::scannedChannels

Bit mask of channels scanned by the request.

Definition at line 268 of file zdo.h.

uint16_t EDScan_t::totalTransmissions

Count of transmissions reported by the device.

Definition at line 269 of file zdo.h.

uint16_t EDScan_t::transmissionsFailures

Count of transmission failures reported by the device.

Definition at line 270 of file zdo.h.

uint8_t EDScan_t::scannedChannelsListCount

Number of records contained in the energyValues[] list.

Definition at line 271 of file zdo.h.

uint8_t EDScan_t::energyValues[32]

Definition at line 272 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: HAL_AdcParams_t Struct Reference

HAL_AdcParams_t Struct Reference

adc structure of parameters More...

#include <adc.h>

Data Fields

uint8_t | resolution
conversion resolution
HAL_AdcSampleRate_t | sampleRate
adc sample rate
HAL_AdcVoltageReference_t voltageReference
adc voltage reference selections (only for avr)
void * | bufferPointer
pointer to the application data
uint16_t | selectionsAmount
amount of samples (buffer cells)
void(* | callback )()
pointer to callback method

Detailed Description

adc structure of parameters

Definition at line 79 of file adc.h.

Field Documentation

uint8_t HAL_AdcParams_t::resolution

conversion resolution

Definition at line 82 of file adc.h.

HAL_AdcSampleRate_t HAL_AdcParams_t::sampleRate

adc sample rate

Definition at line 84 of file adc.h.

HAL_AdcVoltageReference_t HAL_AdcParams_t::voltageReference

adc voltage reference selections (only for avr)

Definition at line 86 of file adc.h.

void* HAL_AdcParams_t::bufferPointer

pointer to the application data

Definition at line 88 of file adc.h.

uint16_t HAL_AdcParams_t::selectionsAmount

amount of samples (buffer cells)

Definition at line 90 of file adc.h.

void(* HAL_AdcParams_t::callback)()

pointer to callback method

The documentation for this struct was generated from the following file:
  • adc.h


BitCloud Stack Documentation: HAL_EepromParams_t Struct Reference

HAL_EepromParams_t Struct Reference

eeprom access control structure More...

#include <eeprom.h>

Data Fields

uint16_t | address
EEPROM address.
uint8_t * | data
pointer to data memory
uint16_t | length
number of bytes

Detailed Description

eeprom access control structure

Definition at line 42 of file eeprom.h.

Field Documentation

uint16_t HAL_EepromParams_t::address

EEPROM address.

Definition at line 45 of file eeprom.h.

uint8_t* HAL_EepromParams_t::data

pointer to data memory

Definition at line 47 of file eeprom.h.

uint16_t HAL_EepromParams_t::length

number of bytes

Definition at line 49 of file eeprom.h.

The documentation for this struct was generated from the following file:
  • eeprom.h


BitCloud Stack Documentation: HAL_i2cMode_t Struct Reference

HAL_i2cMode_t Struct Reference

i2c baud rate TWI clock rate More...

#include <i2cPacket.h>

Data Fields

I2cClockRate_t clockrate

Detailed Description

i2c baud rate TWI clock rate

Definition at line 73 of file i2cPacket.h.

Field Documentation

I2cClockRate_t HAL_i2cMode_t::clockrate

Definition at line 75 of file i2cPacket.h.

The documentation for this struct was generated from the following file:
  • i2cPacket.h


BitCloud Stack Documentation: HAL_I2cParams_t Struct Reference

HAL_I2cParams_t Struct Reference

i2c access control structure More...

#include <i2cPacket.h>

Data Fields

uint8_t | id
slave address
uint16_t | length
number of bytes to be written to the bus
uint8_t * | data
pointer to the data
uint32_t | internalAddr
internal device address size conditions: HAL_NO_INTERNAL_ADDRESS - byte command condition
HAL_ONE_BYTE_SIZE
HAL_TWO_BYTE_SIZE
HAL_THREE_BYTE_SIZE internal device address
void(* | f )(bool result)
callback function

Detailed Description

i2c access control structure

Definition at line 81 of file i2cPacket.h.

Field Documentation

uint8_t HAL_I2cParams_t::id

slave address

Definition at line 84 of file i2cPacket.h.

uint16_t HAL_I2cParams_t::length

number of bytes to be written to the bus

Definition at line 86 of file i2cPacket.h.

uint8_t* HAL_I2cParams_t::data

pointer to the data

Definition at line 88 of file i2cPacket.h.

uint32_t HAL_I2cParams_t::internalAddr

internal device address size conditions: HAL_NO_INTERNAL_ADDRESS - byte command condition
HAL_ONE_BYTE_SIZE
HAL_TWO_BYTE_SIZE
HAL_THREE_BYTE_SIZE internal device address

Definition at line 100 of file i2cPacket.h.

void(* HAL_I2cParams_t::f)(bool result)

callback function

The documentation for this struct was generated from the following file:
  • i2cPacket.h


BitCloud Stack Documentation: HAL_UartDescriptor_t Struct Reference

HAL_UartDescriptor_t Struct Reference

Uart descriptor. More...

#include <uart.h>

Data Fields

uint8_t | tty
tty - One of the defines UART_CHANNEL_0 or UART_CHANNEL_1. Which defines a number of UART.
UartMode_t | mode
Sets synchronous or asynchronous routine.
Must be chosen from:
ASYNC
RS485 (only for arm)
SYNC
.
UartBaudRate_t | baudrate
baudrate - UART baud rate. Must be chosen from:
UART_BAUDRATE_1200
UART_BAUDRATE_2400
UART_BAUDRATE_4800
UART_BAUDRATE_9600
UART_BAUDRATE_19200
UART_BAUDRATE_38400
UART_SYNC_BAUDRATE_1200
UART_SYNC_BAUDRATE_2400
UART_SYNC_BAUDRATE_4800
UART_SYNC_BAUDRATE_9600
UART_SYNC_BAUDRATE_38400
UART_SYNC_BAUDRATE_57600
UART_SYNC_BAUDRATE_115200

UartData_t | dataLength
data - UART data length. Must be chosen from:
UART_DATA5
UART_DATA6
UART_DATA7
UART_DATA8

UartParity_t | parity
parity - UART parity mode. Must be chosen from:
UART_PARITY_NONE
UART_PARITY_EVEN
UART_PARITY_ODD

UartStopBits_t | stopbits
stopbits - UART stop bits number. Must be chosen from:
UART_STOPBIT_1
UART_STOPBIT_2

UartSyncMode_t | edge
edge - data received edge (only for usart). Must be chosen from:
RISING_EDGE
FALLING_EDGE

UartClckMode_t | syncMode
master or slave on usart (only for usart)
uint8_t * | rxBuffer
It's pointer to receive buffer.
If rxBuffer is NULL then transactions are discarded.
Size of buffer depends on user application.
uint16_t | rxBufferLength
length of receive buffer
uint8_t * | txBuffer
It's pointer to transmit buffer.
If txBuffer is NULL then callback method is used.
If txBuffer isn't NULL then polling method is used.
uint16_t | txBufferLength
length of transmit buffer
void(* | rxCallback )(uint8_t)
It's receive uart callback.
If rxCallback is NULL then polling method is used.
If rxCallback isn't NULL then callback method is used.
void(* | txCallback )()
It's transmitting was completed uart callback.
If txBuffer isn't NULL then txCallback notify about end of bytes sending.
uint8_t | flowControl
flow control of uart. One of the defines
UART_FLOW_CONTROL_NONE,
UART_FLOW_CONTROL_HARDWARE, UART_DTR_CONTROL, it is possible to combine by logical OR.
RS485 mode needs for UART_FLOW_CONTROL_NONE.
The RTS pin is driven high when the transmitter is operating.

Detailed Description

Uart descriptor.

Definition at line 47 of file uart.h.

Field Documentation

uint8_t HAL_UartDescriptor_t::tty

tty - One of the defines UART_CHANNEL_0 or UART_CHANNEL_1. Which defines a number of UART.

Definition at line 51 of file uart.h.

UartMode_t HAL_UartDescriptor_t::mode

Sets synchronous or asynchronous routine.
Must be chosen from:
ASYNC
RS485 (only for arm)
SYNC
.

Definition at line 57 of file uart.h.

UartBaudRate_t HAL_UartDescriptor_t::baudrate

baudrate - UART baud rate. Must be chosen from:
UART_BAUDRATE_1200
UART_BAUDRATE_2400
UART_BAUDRATE_4800
UART_BAUDRATE_9600
UART_BAUDRATE_19200
UART_BAUDRATE_38400
UART_SYNC_BAUDRATE_1200
UART_SYNC_BAUDRATE_2400
UART_SYNC_BAUDRATE_4800
UART_SYNC_BAUDRATE_9600
UART_SYNC_BAUDRATE_38400
UART_SYNC_BAUDRATE_57600
UART_SYNC_BAUDRATE_115200

Definition at line 72 of file uart.h.

UartData_t HAL_UartDescriptor_t::dataLength

data - UART data length. Must be chosen from:
UART_DATA5
UART_DATA6
UART_DATA7
UART_DATA8

Definition at line 78 of file uart.h.

UartParity_t HAL_UartDescriptor_t::parity

parity - UART parity mode. Must be chosen from:
UART_PARITY_NONE
UART_PARITY_EVEN
UART_PARITY_ODD

Definition at line 83 of file uart.h.

UartStopBits_t HAL_UartDescriptor_t::stopbits

stopbits - UART stop bits number. Must be chosen from:
UART_STOPBIT_1
UART_STOPBIT_2

Definition at line 87 of file uart.h.

UartSyncMode_t HAL_UartDescriptor_t::edge

edge - data received edge (only for usart). Must be chosen from:
RISING_EDGE
FALLING_EDGE

Definition at line 91 of file uart.h.

UartClckMode_t HAL_UartDescriptor_t::syncMode

master or slave on usart (only for usart)

Definition at line 93 of file uart.h.

uint8_t* HAL_UartDescriptor_t::rxBuffer

It's pointer to receive buffer.
If rxBuffer is NULL then transactions are discarded.
Size of buffer depends on user application.

Definition at line 97 of file uart.h.

uint16_t HAL_UartDescriptor_t::rxBufferLength

length of receive buffer

Definition at line 99 of file uart.h.

uint8_t* HAL_UartDescriptor_t::txBuffer

It's pointer to transmit buffer.
If txBuffer is NULL then callback method is used.
If txBuffer isn't NULL then polling method is used.

Definition at line 103 of file uart.h.

uint16_t HAL_UartDescriptor_t::txBufferLength

length of transmit buffer

Definition at line 105 of file uart.h.

void(* HAL_UartDescriptor_t::rxCallback)(uint8_t)

It's receive uart callback.
If rxCallback is NULL then polling method is used.
If rxCallback isn't NULL then callback method is used.

void(* HAL_UartDescriptor_t::txCallback)()

It's transmitting was completed uart callback.
If txBuffer isn't NULL then txCallback notify about end of bytes sending.

uint8_t HAL_UartDescriptor_t::flowControl

flow control of uart. One of the defines
UART_FLOW_CONTROL_NONE,
UART_FLOW_CONTROL_HARDWARE, UART_DTR_CONTROL, it is possible to combine by logical OR.
RS485 mode needs for UART_FLOW_CONTROL_NONE.
The RTS pin is driven high when the transmitter is operating.

Definition at line 118 of file uart.h.

The documentation for this struct was generated from the following file:
  • uart.h


BitCloud Stack Documentation: HAL_UsbEndPointDescptr_t Struct Reference

HAL_UsbEndPointDescptr_t Struct Reference

#include <usb.h>

Data Fields

uint8_t | bLength
uint8_t | bDescriptorType
uint8_t | bEndpointAddress
uint8_t | bmAttributes
uint16_t | wMaxPacketSize
uint8_t | bInterval

Detailed Description

Definition at line 42 of file usb.h.

Field Documentation

uint8_t HAL_UsbEndPointDescptr_t::bLength

Definition at line 44 of file usb.h.

uint8_t HAL_UsbEndPointDescptr_t::bDescriptorType

Definition at line 45 of file usb.h.

uint8_t HAL_UsbEndPointDescptr_t::bEndpointAddress

Definition at line 46 of file usb.h.

uint8_t HAL_UsbEndPointDescptr_t::bmAttributes

Definition at line 47 of file usb.h.

uint16_t HAL_UsbEndPointDescptr_t::wMaxPacketSize

Definition at line 48 of file usb.h.

uint8_t HAL_UsbEndPointDescptr_t::bInterval

Definition at line 49 of file usb.h.

The documentation for this struct was generated from the following file:
  • usb.h


BitCloud Stack Documentation: MacCapabilityFlags_t Struct Reference

MacCapabilityFlags_t Struct Reference

MAC capability flags. More...

#include <appFramework.h>

Data Fields

uint8_t | altPANcoord: 1
uint8_t | devType: 1
uint8_t | pwrSrc: 1
uint8_t | rxOnWhenIdle:1
uint8_t | rsvd: 2
uint8_t | secCapb: 1
uint8_t | allocAddr: 1

Detailed Description

MAC capability flags.

Definition at line 41 of file appFramework.h.

Field Documentation

uint8_t MacCapabilityFlags_t::altPANcoord

Always equals 0.

Definition at line 43 of file appFramework.h.

uint8_t MacCapabilityFlags_t::devType

1 if the joining device is a ZigBee router; 0 if the device is a ZigBee end device or else a router-capable device that is joining as an end device.

Definition at line 46 of file appFramework.h.

uint8_t MacCapabilityFlags_t::pwrSrc

0x01 means mains-powered device;
0x00 means other power source.

Definition at line 49 of file appFramework.h.

uint8_t MacCapabilityFlags_t::rxOnWhenIdle

Determines is the receiver enabled when the device is idle.

Definition at line 51 of file appFramework.h.

uint8_t MacCapabilityFlags_t::rsvd

Reserved. Should always equal 0.

Definition at line 53 of file appFramework.h.

uint8_t MacCapabilityFlags_t::secCapb

MAC security capability. Not supported (always equals 0).

Definition at line 55 of file appFramework.h.

uint8_t MacCapabilityFlags_t::allocAddr

Indicates whether the joining device must be issued a 16-bit network address.

Definition at line 57 of file appFramework.h.

The documentation for this struct was generated from the following file:
  • appFramework.h


BitCloud Stack Documentation: NetworkInf_t Struct Reference

NetworkInf_t Struct Reference

This information is provided to inform an application about new network parameters if a device rejoined a network. More...

#include <zdo.h>

Data Fields

ShortAddr_t | parentShortAddr
Parent short address.
PanId_t | panId
PAN ID of a network.
uint8_t | currentChannel
Current channel.
ShortAddr_t | shortAddr
New short address.

Detailed Description

This information is provided to inform an application about new network parameters if a device rejoined a network.

Definition at line 282 of file zdo.h.

Field Documentation

ShortAddr_t NetworkInf_t::parentShortAddr

Parent short address.

Definition at line 284 of file zdo.h.

PanId_t NetworkInf_t::panId

PAN ID of a network.

Definition at line 285 of file zdo.h.

uint8_t NetworkInf_t::currentChannel

Current channel.

Definition at line 286 of file zdo.h.

ShortAddr_t NetworkInf_t::shortAddr

New short address.

Definition at line 287 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: NodeAddr_t Struct Reference

NodeAddr_t Struct Reference

Information about the addresses of a device. More...

#include <zdo.h>

Data Fields

ShortAddr_t | shortAddr
Short address.
ExtAddr_t | extAddr
Extended address.

Detailed Description

Information about the addresses of a device.

Definition at line 213 of file zdo.h.

Field Documentation

ShortAddr_t NodeAddr_t::shortAddr

Short address.

Definition at line 215 of file zdo.h.

ExtAddr_t NodeAddr_t::extAddr

Extended address.

Definition at line 216 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: NodeDescriptor_t Struct Reference

NodeDescriptor_t Struct Reference

Node descriptor. More...

#include <appFramework.h>

Data Fields

uint8_t | logicalType: 3
uint8_t | complexDescriptorAvailable: 1
uint8_t | userDescriptorAvailable: 1
uint8_t | reserved: 3
uint8_t | apsFlags: 3
uint8_t | frequencyBand: 5
uint8_t | macCapbFlags
uint16_t | manufacturerCode
uint8_t | maxBufferSize
uint16_t | maxTransferSize
uint16_t | serverMask
uint16_t | maxOutcTransferSize
uint8_t | descriptorCapabilityField

Detailed Description

Node descriptor.

Mandatory for each node.

Definition at line 62 of file appFramework.h.

Field Documentation

uint8_t NodeDescriptor_t::logicalType

Device role:
000 - DEVICE_TYPE_COORDINATOR,
001 - DEVICE_TYPE_ROUTER,
010 - DEVICE_TYPE_END_DEVICE,
011-111 - reserved.

Definition at line 69 of file appFramework.h.

uint8_t NodeDescriptor_t::complexDescriptorAvailable

Specifies whether a complex descriptor is available on this device.

Definition at line 71 of file appFramework.h.

uint8_t NodeDescriptor_t::userDescriptorAvailable

Specifies whether a user descriptor is available on this device.

Definition at line 73 of file appFramework.h.

uint8_t NodeDescriptor_t::reserved

Reserved.

Definition at line 75 of file appFramework.h.

uint8_t NodeDescriptor_t::apsFlags

APS capability flags. Not supported (always set to 0).

Definition at line 77 of file appFramework.h.

uint8_t NodeDescriptor_t::frequencyBand

Bit mask for supported frequency bands.
Bit 0: 868 - 868.6 MHz
Bit 1: Reserved
Bit 2: 902 - 928 MHz
Bit 3: 2400 - 2483.5 MHz
Bit 4: Reserved.

Definition at line 84 of file appFramework.h.

uint8_t NodeDescriptor_t::macCapbFlags

MAC capability flags.
Bit 0: is the node capable of becoming an alternate PAN coordinator
Bit 1: device type (full-function vs. reduced-function device)
Bit 2: is the device mains-powered
Bit 3: is the receiver enabled when the device is idle
Bits 4-5: Reserved
Bit 6: is MAC security enabled
Bit 7: Always equals 1.

Definition at line 93 of file appFramework.h.

uint16_t NodeDescriptor_t::manufacturerCode

16-bit manufacturer code allocated by the ZigBee Alliance.

Definition at line 95 of file appFramework.h.

uint8_t NodeDescriptor_t::maxBufferSize

Maximum size of the network sub-layer data unit (NSDU) for this node, in octets. Valid range is 0x00-0x7f.

Definition at line 98 of file appFramework.h.

uint16_t NodeDescriptor_t::maxTransferSize

Maximum size of the application sub-layer data unit (ASDU) that can be transferred to this node in one single message transfer, in octets. Valid range is 0x0000-0x7fff. May exceed the maxBufferSize value through the use of fragmentation.

Definition at line 103 of file appFramework.h.

uint16_t NodeDescriptor_t::serverMask

Bit mask denoting the system server capabilities of this node.
Used to facilitate discovery of particular system servers by other nodes.
Bit 0: Primary Trust Center
Bit 1: Backup Trust Center
Bit 2: Primary Binding Table Cache
Bit 3: Backup Binding Table Cache
Bit 4: Primary Discovery Cache
Bit 5: Backup Discovery Cache
Bit 6: Network Manager
Bits 7-15: Reserved.

Definition at line 114 of file appFramework.h.

uint16_t NodeDescriptor_t::maxOutcTransferSize

Maximum size of the application sub-layer data unit (ASDU) that can be transferred from this node in one single message transfer, in octets. Valid range is 0x0000-0x7fff.

Definition at line 118 of file appFramework.h.

uint8_t NodeDescriptor_t::descriptorCapabilityField

Descriptor capabilities bit mask. Bit 0: Extended Active Endpoint list available
Bit 1: Extended Simple Descriptor list available
Bits 2-7: Reserved.

Definition at line 123 of file appFramework.h.

The documentation for this struct was generated from the following file:
  • appFramework.h


BitCloud Stack Documentation: PowerDescriptor_t Struct Reference

PowerDescriptor_t Struct Reference

Power descriptor. More...

#include <appFramework.h>

Data Fields

uint8_t | currentPowerMode: 4
uint8_t | availablePowerSources: 4
uint8_t | currentPowerSource: 4
uint8_t | currentPowerSourceLevel: 4

Detailed Description

Power descriptor.

Mandatory for each node.

Definition at line 175 of file appFramework.h.

Field Documentation

uint8_t PowerDescriptor_t::currentPowerMode

Specifies the current sleep/power-saving mode of the node.
0000 - Receiver synchronized with the 'receiver on when idle' subfield of the node descriptor.
0001 - Receiver comes on periodically as defined by the node power descriptor.
0010 - Receiver comes on when stimulated, e.g. by a user pressing a button.
0011-1111 - Reserved.

Definition at line 182 of file appFramework.h.

uint8_t PowerDescriptor_t::availablePowerSources

Specifies the power sources available on this node.
0 - Constant (mains) power
1 - Rechargeable battery
2 - Disposable battery
3 - Reserved.

Definition at line 188 of file appFramework.h.

uint8_t PowerDescriptor_t::currentPowerSource

Specifies the power source being currently used by the node.
0 - Constant (mains) power
1 - Rechargeable battery
2 - Disposable battery
3 - Reserved.

Definition at line 194 of file appFramework.h.

uint8_t PowerDescriptor_t::currentPowerSourceLevel

Specifies the level of charge of the power source.
0000 - Critical
0100 - 33%
1000 - 66%
1100 - 100%
All other values - Reserved.

Definition at line 201 of file appFramework.h.

The documentation for this struct was generated from the following file:
  • appFramework.h


BitCloud Stack Documentation: SimpleDescriptor_t Struct Reference

SimpleDescriptor_t Struct Reference

Simple Descriptor. More...

#include <appFramework.h>

Data Fields

Endpoint_t endpoint
ProfileId_t AppProfileId
uint16_t | AppDeviceId
uint8_t | AppDeviceVersion: 4
uint8_t | Reserved: 4
uint8_t | AppInClustersCount
ClusterId_t * AppInClustersList
uint8_t | AppOutClustersCount
ClusterId_t * AppOutClustersList

Detailed Description

Simple Descriptor.

Mandatory for each endpoint present in the node.

Definition at line 237 of file appFramework.h.

Field Documentation

Endpoint_t SimpleDescriptor_t::endpoint

ID of the endpoint within the node to which this description refers. Applications shall only use endpoints 1-240.

Definition at line 241 of file appFramework.h.

ProfileId_t SimpleDescriptor_t::AppProfileId

Profile that is supported on this endpoint.

Definition at line 243 of file appFramework.h.

uint16_t SimpleDescriptor_t::AppDeviceId

Device description supported on this endpoint.

Definition at line 245 of file appFramework.h.

uint8_t SimpleDescriptor_t::AppDeviceVersion

Version of the device description supported on this endpoint.

Definition at line 247 of file appFramework.h.

uint8_t SimpleDescriptor_t::Reserved

Reserved.

Definition at line 249 of file appFramework.h.

uint8_t SimpleDescriptor_t::AppInClustersCount

Number of input clusters supported on this endpoint. If 0, the application input cluster list field shall not be included.

Definition at line 252 of file appFramework.h.

ClusterId_t* SimpleDescriptor_t::AppInClustersList

List of input clusters supported on this endpoint.

Definition at line 254 of file appFramework.h.

uint8_t SimpleDescriptor_t::AppOutClustersCount

Number of output clusters supported on this endpoint. If 0, the application output cluster list field shall not be included.

Definition at line 257 of file appFramework.h.

ClusterId_t* SimpleDescriptor_t::AppOutClustersList

List of output clusters supported on this endpoint.

Definition at line 259 of file appFramework.h.

The documentation for this struct was generated from the following file:
  • appFramework.h


BitCloud Stack Documentation: UserDescriptor_t Struct Reference

UserDescriptor_t Struct Reference

User descriptor. More...

#include <appFramework.h>

Data Fields

uint8_t | FieldLength
uint8_t | FieldName [ZDP_USER_DESC_FIELD_SIZE]

Detailed Description

User descriptor.

Used optionally.

Definition at line 264 of file appFramework.h.

Field Documentation

uint8_t UserDescriptor_t::FieldLength

Definition at line 266 of file appFramework.h.

uint8_t UserDescriptor_t::FieldName[ZDP_USER_DESC_FIELD_SIZE]

Human-readable character string that allows the user to identify the device.

Definition at line 268 of file appFramework.h.

The documentation for this struct was generated from the following file:
  • appFramework.h


BitCloud Stack Documentation: ZDO_ActiveEPReq_t Struct Reference

ZDO_ActiveEPReq_t Struct Reference

This request is generated from a local device wishing to acquire the list of endpoints on a remote device with simple descriptors. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address for the active endpoints request.

Detailed Description

This request is generated from a local device wishing to acquire the list of endpoints on a remote device with simple descriptors. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device.

Definition at line 468 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_ActiveEPReq_t::nwkAddrOfInterest

NWK address for the active endpoints request.

Definition at line 470 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_ActiveEPResp_t Struct Reference

ZDO_ActiveEPResp_t Struct Reference

This command is generated by a remote device in response to an Active_EP_req directed to the remote device. This command shall be unicast to the originator of the Active_EP_req command. More...

#include <zdo.h>

Data Fields

ShortAddr_t | nwkAddrOfInterest
NWK address of the active endpoints request.
uint8_t | activeEPCount
Count of active endpoints on the remote device.
uint8_t | activeEPList [MAX_ACTIVE_EP_NUMBER]
List of active endpoint Ids.

Detailed Description

This command is generated by a remote device in response to an Active_EP_req directed to the remote device. This command shall be unicast to the originator of the Active_EP_req command.

Definition at line 783 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_ActiveEPResp_t::nwkAddrOfInterest

NWK address of the active endpoints request.

Definition at line 785 of file zdo.h.

uint8_t ZDO_ActiveEPResp_t::activeEPCount

Count of active endpoints on the remote device.

Definition at line 786 of file zdo.h.

uint8_t ZDO_ActiveEPResp_t::activeEPList[MAX_ACTIVE_EP_NUMBER]

List of active endpoint Ids.

Definition at line 787 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_ComplexDescReq_t Struct Reference

ZDO_ComplexDescReq_t Struct Reference

This request is generated from a local device wishing to inquire as to the complex descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address for the complex descriptor request.

Detailed Description

This request is generated from a local device wishing to inquire as to the complex descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device.

Definition at line 479 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_ComplexDescReq_t::nwkAddrOfInterest

NWK address for the complex descriptor request.

Definition at line 481 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_ComplexDescResp_t Struct Reference

ZDO_ComplexDescResp_t Struct Reference

This command is generated by a remote device in response to a Complex_Desc_req directed to the remote device. This command shall be unicast to the originator of the Complex_Desc_req command. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address of the complex descriptor request.

Detailed Description

This command is generated by a remote device in response to a Complex_Desc_req directed to the remote device. This command shall be unicast to the originator of the Complex_Desc_req command.

Definition at line 752 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_ComplexDescResp_t::nwkAddrOfInterest

NWK address of the complex descriptor request.

Definition at line 754 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_DeviceAnnceReq_t Struct Reference

ZDO_DeviceAnnceReq_t Struct Reference

This request is provided to enable ZigBee devices on the network to notify other ZigBee devices that the device has joined or re-joined the network, identifying the devices 64-bit IEEE address and new 16-bit NWK address, and informing the Remote Devices of the capability of the ZigBee device. This command shall be invoked for all ZigBee end devices upon join or rejoin. This command may also be invoked by ZigBee routers upon join or rejoin as part of NWK address conflict resolution. The destination addressing on this primitive is broadcast to all devices for which macRxOnWhenIdle = TRUE. More...

#include <zdo.h>

Data Fields

ShortAddr_t | nwkAddrLocal
NWK address for the Local Device.
ExtAddr_t | ieeeAddrLocal
IEEE address for the Local Device.
uint8_t | macCapability
Capability of the local device.

Detailed Description

This request is provided to enable ZigBee devices on the network to notify other ZigBee devices that the device has joined or re-joined the network, identifying the devices 64-bit IEEE address and new 16-bit NWK address, and informing the Remote Devices of the capability of the ZigBee device. This command shall be invoked for all ZigBee end devices upon join or rejoin. This command may also be invoked by ZigBee routers upon join or rejoin as part of NWK address conflict resolution. The destination addressing on this primitive is broadcast to all devices for which macRxOnWhenIdle = TRUE.

Definition at line 529 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_DeviceAnnceReq_t::nwkAddrLocal

NWK address for the Local Device.

Definition at line 531 of file zdo.h.

ExtAddr_t ZDO_DeviceAnnceReq_t::ieeeAddrLocal

IEEE address for the Local Device.

Definition at line 532 of file zdo.h.

uint8_t ZDO_DeviceAnnceReq_t::macCapability

Capability of the local device.

Definition at line 533 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_GetChildrenAddr_t Struct Reference

ZDO_GetChildrenAddr_t Struct Reference

Describes the parameters of the ZDO_ChildrenAddrReq() function. More...

#include <zdo.h>

Data Fields

uint8_t childrenCount
Number of children.
NodeAddr_t * childrenTable
Pointer to the memory allocated for children information.

Detailed Description

Describes the parameters of the ZDO_ChildrenAddrReq() function.

Definition at line 1008 of file zdo.h.

Field Documentation

uint8_t ZDO_GetChildrenAddr_t::childrenCount

Number of children.

Definition at line 1010 of file zdo.h.

NodeAddr_t* ZDO_GetChildrenAddr_t::childrenTable

Pointer to the memory allocated for children information.

Definition at line 1011 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_GetLqiRssi_t Struct Reference

ZDO_GetLqiRssi_t Struct Reference

Describes the parameters of the ZDO_LqiRssiReq() function. More...

#include <zdo.h>

Data Fields

ShortAddr_t | nodeAddr
Address of the requested node.
uint8_t | lqi
int8_t | rssi

Detailed Description

Describes the parameters of the ZDO_LqiRssiReq() function.

Definition at line 994 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_GetLqiRssi_t::nodeAddr

Address of the requested node.

Definition at line 996 of file zdo.h.

uint8_t ZDO_GetLqiRssi_t::lqi

Definition at line 997 of file zdo.h.

int8_t ZDO_GetLqiRssi_t::rssi

Pointer to the memory allocated for LQI. The range of the LQI value is from 0 to 255.

Definition at line 999 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_GetNeibAmount_t Struct Reference

ZDO_GetNeibAmount_t Struct Reference

Describes the parameters of the ZDO_GetNeibAmount() function. More...

#include <zdo.h>

Data Fields

uint8_t | routersAmount
Amount of routers in the neighbor table.
uint8_t | childrenAmount
Amount of children in the neighbor table.

Detailed Description

Describes the parameters of the ZDO_GetNeibAmount() function.

Definition at line 1046 of file zdo.h.

Field Documentation

uint8_t ZDO_GetNeibAmount_t::routersAmount

Amount of routers in the neighbor table.

Definition at line 1048 of file zdo.h.

uint8_t ZDO_GetNeibAmount_t::childrenAmount

Amount of children in the neighbor table.

Definition at line 1049 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_IeeeAddrReq_t Struct Reference

ZDO_IeeeAddrReq_t Struct Reference

This request is generated from a Local Device wishing to inquire as to the 64-bit IEEE address of the Remote Device based on their known 16-bit address. The destination addressing on this command shall be unicast. More...

#include <zdo.h>

Data Fields

ShortAddr_t | nwkAddrOfInterest
uint8_t | reqType
uint8_t | startIndex

Detailed Description

This request is generated from a Local Device wishing to inquire as to the 64-bit IEEE address of the Remote Device based on their known 16-bit address. The destination addressing on this command shall be unicast.

Definition at line 423 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_IeeeAddrReq_t::nwkAddrOfInterest

NWK address that is used for IEEE address mapping.

Definition at line 426 of file zdo.h.

uint8_t ZDO_IeeeAddrReq_t::reqType

Request type for this command: 0x00 Single device response 0x01 Extended response 0x02-0xff reserved

Definition at line 431 of file zdo.h.

uint8_t ZDO_IeeeAddrReq_t::startIndex

If the Request type for this command is Extended response, the StartIndex provides the starting index for the requested elements of the associated devices list.

Definition at line 437 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_IeeeAddrResp_t Struct Reference

ZDO_IeeeAddrResp_t Struct Reference

This command is generated by a Remote Device in response to an IEEE_addr_req command inquiring as to the 64-bit IEEE address of the Remote Device or the 64-bit IEEE address of an address held in a local discovery cache. The destination addressing on this command shall be unicast. More...

#include <zdo.h>

Data Fields

ExtAddr_t | ieeeAddrRemote
ShortAddr_t | nwkAddrRemote
uint8_t | numAssocDev
uint8_t | startIndex
ShortAddr_t | nwkAddrAssocDevList [ZDP_ADDR_LIST_SIZE]

Detailed Description

This command is generated by a Remote Device in response to an IEEE_addr_req command inquiring as to the 64-bit IEEE address of the Remote Device or the 64-bit IEEE address of an address held in a local discovery cache. The destination addressing on this command shall be unicast.

Definition at line 693 of file zdo.h.

Field Documentation

ExtAddr_t ZDO_IeeeAddrResp_t::ieeeAddrRemote

64-bit address for the Remote Device.

Definition at line 696 of file zdo.h.

ShortAddr_t ZDO_IeeeAddrResp_t::nwkAddrRemote

16-bit address for the Remote Device.

Definition at line 698 of file zdo.h.

uint8_t ZDO_IeeeAddrResp_t::numAssocDev

Count of the number of 16-bit short addresses to follow. If the RequestType in the request is Extended Response and there are no associated devices on the Remote Device, this field shall be set to 0. If an error occurs or the RequestType in the request is for a Single Device Response, this field shall not be included in the frame.

Definition at line 706 of file zdo.h.

uint8_t ZDO_IeeeAddrResp_t::startIndex

Starting index into the list of associated devices for this report. If the RequestType in the request is Extended Response and there are no associated devices on the Remote Device, this field shall not be included in the frame. If an error occurs or the RequestType in the request is for a Single Device Response, this field shall not be included in the frame.

Definition at line 713 of file zdo.h.

ShortAddr_t ZDO_IeeeAddrResp_t::nwkAddrAssocDevList[ZDP_ADDR_LIST_SIZE]

A list of 16-bit addresses, one corresponding to each associated device to Remote Device; The number of 16-bit network addresses contained in this field is specified in the NumAssocDev field. If the RequestType in the request is Extended Response and there are no associated devices on the Remote Device, this field shall not be included in the frame. If an error occurs or the RequestType in the request is for a Single Device Response, this field shall not be included in the frame

Definition at line 722 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_MgmtLeaveReq_t Struct Reference

ZDO_MgmtLeaveReq_t Struct Reference

This request is generated from a Local Device requesting that a Remote Device leave the network or to request that another device leave the network. The Mgmt_Leave_req is generated by a management application which directs the request to a Remote Device where the NLME-LEAVE.request is to be executed using the parameter supplied by Mgmt_Leave_req. More...

#include <zdo.h>

Data Fields

ExtAddr_t | deviceAddr
IEEE address.
uint8_t | reserved: 6
Reserved; can not be changed by user.
uint8_t | removeChildren: 1
uint8_t | rejoin: 1

Detailed Description

This request is generated from a Local Device requesting that a Remote Device leave the network or to request that another device leave the network. The Mgmt_Leave_req is generated by a management application which directs the request to a Remote Device where the NLME-LEAVE.request is to be executed using the parameter supplied by Mgmt_Leave_req.

Definition at line 566 of file zdo.h.

Field Documentation

ExtAddr_t ZDO_MgmtLeaveReq_t::deviceAddr

IEEE address.

Definition at line 568 of file zdo.h.

uint8_t ZDO_MgmtLeaveReq_t::reserved

Reserved; can not be changed by user.

Definition at line 569 of file zdo.h.

uint8_t ZDO_MgmtLeaveReq_t::removeChildren

This field has a value of 1 if the device being asked to leave the network is also asked to remove all its child devices, if any. Otherwise, it has a value of 0.

Definition at line 575 of file zdo.h.

uint8_t ZDO_MgmtLeaveReq_t::rejoin

This field has a value of 1 if the device being asked to leave from the current parent is requested to rejoin the network. Otherwise, it has a value of 0.

Definition at line 581 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h


BitCloud Stack Documentation: ZDO_MgmtLqiReq_t Struct Reference

ZDO_MgmtLqiReq_t Struct Reference

Desribes the parameters of the LQI request. More...

#include <zdo.h>

Data Fields

uint8_t startIndex

Detailed Description

Desribes the parameters of the LQI request.

Definition at line 353 of file zdo.h.

Field Documentation

uint8_t ZDO_MgmtLqiReq_t::startIndex

Definition at line 355 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_MgmtLqiResp_t Struct Reference

ZDO_MgmtLqiResp_t Struct Reference

Desribes the parameters of the LQI response. More...

#include <zdo.h>

Data Fields

uint8_t | neighborTableEntries
uint8_t | startIndex
uint8_t | neighborTableListCount
struct {
ExtPanId_t extPanId
ExtAddr_t extAddr
ShortAddr_t networkAddr
uint8_t deviceType: 2
uint8_t rxOnWhenIdle: 2
uint8_t relationship: 3
uint8_t reserved1: 1
uint8_t permitJoining: 2
uint8_t reserved2: 6
uint8_t depth
uint8_t lqi
} neighborTableList [ZDP_NEIGBOR_TABLE_LIST_SIZE]

Detailed Description

Desribes the parameters of the LQI response.

Definition at line 328 of file zdo.h.

Field Documentation

uint8_t ZDO_MgmtLqiResp_t::neighborTableEntries

Definition at line 330 of file zdo.h.

uint8_t ZDO_MgmtLqiResp_t::startIndex

Definition at line 331 of file zdo.h.

uint8_t ZDO_MgmtLqiResp_t::neighborTableListCount

Definition at line 332 of file zdo.h.

ExtPanId_t ZDO_MgmtLqiResp_t::extPanId

Definition at line 335 of file zdo.h.

ExtAddr_t ZDO_MgmtLqiResp_t::extAddr

Definition at line 336 of file zdo.h.

ShortAddr_t ZDO_MgmtLqiResp_t::networkAddr

Definition at line 337 of file zdo.h.

uint8_t ZDO_MgmtLqiResp_t::deviceType

Definition at line 338 of file zdo.h.

uint8_t ZDO_MgmtLqiResp_t::rxOnWhenIdle

Definition at line 339 of file zdo.h.

uint8_t ZDO_MgmtLqiResp_t::relationship

Definition at line 340 of file zdo.h.

uint8_t ZDO_MgmtLqiResp_t::reserved1

Definition at line 341 of file zdo.h.

uint8_t ZDO_MgmtLqiResp_t::permitJoining

Definition at line 342 of file zdo.h.

uint8_t ZDO_MgmtLqiResp_t::reserved2

Definition at line 343 of file zdo.h.

uint8_t ZDO_MgmtLqiResp_t::depth

Definition at line 344 of file zdo.h.

uint8_t ZDO_MgmtLqiResp_t::lqi

Definition at line 345 of file zdo.h.

struct { ... } ZDO_MgmtLqiResp_t::neighborTableList[ZDP_NEIGBOR_TABLE_LIST_SIZE]

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_MgmtNwkUpdateNotf_t Struct Reference

ZDO_MgmtNwkUpdateNotf_t Struct Reference

This information is provided to notify application about network events. More...

#include <zdo.h>

Data Fields

uint8_t status
union {
ShortAddr_t conflictAddress
Conflicting address.
EDScan_t scanResult
ED scan result.
NetworkInf_t nwkUpdateInf
Network information updated.
NodeAddr_t childAddr
Address of joined/removed child.
};

Detailed Description

This information is provided to notify application about network events.

Definition at line 294 of file zdo.h.

Field Documentation

uint8_t ZDO_MgmtNwkUpdateNotf_t::status

The parameter shows the notification status and can be: ZDO_SUCCESS_STATUS, ZDO_INVALID_PARAMETERS_STATUS, ZDO_FAIL_STATUS, ZDO_RESPONSE_WAIT_TIMEOUT_STATUS, ZDO_NETWORK_STARTED_STATUS, ZDO_NETWORK_LEFT_STATUS, ZDO_NETWORK_LOST_STATUS, ZDO_CHILD_JOINED_STATUS, ZDO_CHILD_REMOVED_STATUS, ZDO_USER_DESCRIPTOR_UPDATE_STATUS, ZDO_STATIC_ADDRESS_CONFLICT_STATUS, ZDO_NWK_UPDATE_STATUS

Definition at line 309 of file zdo.h.

ShortAddr_t ZDO_MgmtNwkUpdateNotf_t::conflictAddress

Conflicting address.

Definition at line 313 of file zdo.h.

EDScan_t ZDO_MgmtNwkUpdateNotf_t::scanResult

ED scan result.

Definition at line 315 of file zdo.h.

NetworkInf_t ZDO_MgmtNwkUpdateNotf_t::nwkUpdateInf

Network information updated.

Definition at line 317 of file zdo.h.

NodeAddr_t ZDO_MgmtNwkUpdateNotf_t::childAddr

Address of joined/removed child.

Definition at line 319 of file zdo.h.

union { ... }

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_MgmtNwkUpdateReq_t Struct Reference

ZDO_MgmtNwkUpdateReq_t Struct Reference

This command is provided to allow updating of network configuration parameters or to request information from devices on network conditions in the local operating environment. The destination addressing on this primitive shall be unicast or broadcast to all devices for which macRxOnWhenIdle = TRUE. More...

#include <zdo.h>

Data Fields

uint32_t | scanChannels
uint8_t | scanDuration
union {
uint8_t scanCount
uint8_t nwkUpdateId
};
ShortAddr_t | nwkManagerAddr

Detailed Description

This command is provided to allow updating of network configuration parameters or to request information from devices on network conditions in the local operating environment. The destination addressing on this primitive shall be unicast or broadcast to all devices for which macRxOnWhenIdle = TRUE.

Definition at line 611 of file zdo.h.

Field Documentation

uint32_t ZDO_MgmtNwkUpdateReq_t::scanChannels

The five most significant bits (b27,... b31) are reserved. The 27 least significant bits (b0, b1,... b26) indicate which channels are to be scanned (1 = scan, 0 = do not scan) for each of the 27 valid channels

Definition at line 616 of file zdo.h.

uint8_t ZDO_MgmtNwkUpdateReq_t::scanDuration

Possible values are:
ZDO_MGMT_ED_SCAN_DUR_0 (0x00) to ZDO_MGMT_ED_SCAN_DUR_5 (0x05) - request to perform an ED scan with duration depending exponentially on the parameter value;
ZDO_MGMT_CHANNEL_CHANGE (0xFE) - request to change the working channel to the one specified by the ZDO_MgmtNwkUpdateReq_t::scanChannels bitmask;
ZDO_MGMT_NWK_PARAMS_CHANGE (0xFF) - request to change the device nwkUpdateId and nwkManagerAddr values to those contained in the request.
Other values are invalid.

Definition at line 625 of file zdo.h.

uint8_t ZDO_MgmtNwkUpdateReq_t::scanCount

This field represents the number of energy scans to be conducted and reported. This field shall be present only if the ZDO_MgmtNwkUpdateReq_t::scanDuration is within the range of 0x00 to 0x05.

Definition at line 633 of file zdo.h.

uint8_t ZDO_MgmtNwkUpdateReq_t::nwkUpdateId

The value of the nwkUpdateId contained in this request. This value is set by the Network Channel Manager prior to sending the message. This field shall only be present if the ZDO_MgmtNwkUpdateReq_t::scanDuration is 0xFE or 0xFF.

Definition at line 640 of file zdo.h.

union { ... }

ShortAddr_t ZDO_MgmtNwkUpdateReq_t::nwkManagerAddr

This field shall be present only if the ZDO_MgmtNwkUpdateReq_t::scanDuration is set to 0xFF, and, if present, indicates the NWK address for the device with the Network Manager bit set in its Node Descriptor.

Definition at line 645 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_MgmtPermitJoiningReq_t Struct Reference

ZDO_MgmtPermitJoiningReq_t Struct Reference

This request is generated from a Local Device requesting that a remote device or devices allow or disallow association. More...

#include <zdo.h>

Data Fields

uint8_t | permitDuration
uint8_t | tcSignificance

Detailed Description

This request is generated from a Local Device requesting that a remote device or devices allow or disallow association.

Definition at line 588 of file zdo.h.

Field Documentation

uint8_t ZDO_MgmtPermitJoiningReq_t::permitDuration

Time span in seconds during which the ZigBee coordinator or router will allow associations. The value 0x00 or 0xff indicate that permission is, respectively, disabled or enabled permanently.

Definition at line 595 of file zdo.h.

uint8_t ZDO_MgmtPermitJoiningReq_t::tcSignificance

If this is set to 0x01 and the remote device is the Trust Center, the command affects the Trust Center authentication policy as described in the sub-clauses below; If this is set to 0x00, there is no effect on the Trust Center.

Definition at line 602 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_Neib_t Struct Reference

ZDO_Neib_t Struct Reference

Describes neighbor table entry. More...

#include <zdo.h>

Data Fields

ShortAddr_t | shortAddr
Short address of the node.
ExtAddr_t | extAddr
Extended address of the node.
DeviceType_t deviceType
Type of the node.
uint8_t | lqi
LQI value for the node.
int8_t | rssi
RSSI value for the node.
bool | rxOnWhenIdle
Idle portions of the node.
Relationship_t | relationship
Relationship of the node.
ExtPanId_t | extPanId
Extended PAN identifier of the node.
uint8_t | logicalChannel
Logical channel of the node.
uint8_t | depth
Depth of the node.
bool | permitJoining
Permit joining of the node.
bool | potentialParent
Potential parent of the node.

Detailed Description

Describes neighbor table entry.

Definition at line 1055 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_Neib_t::shortAddr

Short address of the node.

Definition at line 1057 of file zdo.h.

ExtAddr_t ZDO_Neib_t::extAddr

Extended address of the node.

Definition at line 1058 of file zdo.h.

DeviceType_t ZDO_Neib_t::deviceType

Type of the node.

Definition at line 1059 of file zdo.h.

uint8_t ZDO_Neib_t::lqi

LQI value for the node.

Definition at line 1060 of file zdo.h.

int8_t ZDO_Neib_t::rssi

RSSI value for the node.

Definition at line 1061 of file zdo.h.

bool ZDO_Neib_t::rxOnWhenIdle

Idle portions of the node.

Definition at line 1062 of file zdo.h.

Relationship_t ZDO_Neib_t::relationship

Relationship of the node.

Definition at line 1063 of file zdo.h.

ExtPanId_t ZDO_Neib_t::extPanId

Extended PAN identifier of the node.

Definition at line 1064 of file zdo.h.

uint8_t ZDO_Neib_t::logicalChannel

Logical channel of the node.

Definition at line 1065 of file zdo.h.

uint8_t ZDO_Neib_t::depth

Depth of the node.

Definition at line 1066 of file zdo.h.

bool ZDO_Neib_t::permitJoining

Permit joining of the node.

Definition at line 1067 of file zdo.h.

bool ZDO_Neib_t::potentialParent

Potential parent of the node.

Definition at line 1068 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_NodeDescReq_t Struct Reference

ZDO_NodeDescReq_t Struct Reference

This request is generated from a local device wishing to inquire as to the node descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address for the node descriptor request.

Detailed Description

This request is generated from a local device wishing to inquire as to the node descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device.

Definition at line 446 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_NodeDescReq_t::nwkAddrOfInterest

NWK address for the node descriptor request.

Definition at line 448 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_NodeDescResp_t Struct Reference

ZDO_NodeDescResp_t Struct Reference

This command is generated by a remote device in response to a Node_Desc_req directed to the remote device. This command shall be unicast to the originator of the Node_Desc_req command. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address of the node descriptor request.
NodeDescriptor_t nodeDescriptor
Node descriptor of the device.

Detailed Description

This command is generated by a remote device in response to a Node_Desc_req directed to the remote device. This command shall be unicast to the originator of the Node_Desc_req command.

Definition at line 730 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_NodeDescResp_t::nwkAddrOfInterest

NWK address of the node descriptor request.

Definition at line 732 of file zdo.h.

NodeDescriptor_t ZDO_NodeDescResp_t::nodeDescriptor

Node descriptor of the device.

Definition at line 733 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_NwkAddrReq_t Struct Reference

ZDO_NwkAddrReq_t Struct Reference

This request is generated from a Local Device wishing to inquire as to the 16-bit address of the Remote Device based on its known IEEE address. The destination addressing on this command shall be unicast or broadcast to all devices for which macRxOnWhenIdle = TRUE. More...

#include <zdo.h>

Data Fields

ExtAddr_t | ieeeAddrOfInterest
uint8_t | reqType
uint8_t | startIndex

Detailed Description

This request is generated from a Local Device wishing to inquire as to the 16-bit address of the Remote Device based on its known IEEE address. The destination addressing on this command shall be unicast or broadcast to all devices for which macRxOnWhenIdle = TRUE.

Definition at line 401 of file zdo.h.

Field Documentation

ExtAddr_t ZDO_NwkAddrReq_t::ieeeAddrOfInterest

The IEEE address to be matched by the Remote Device

Definition at line 404 of file zdo.h.

uint8_t ZDO_NwkAddrReq_t::reqType

Request type for this command: 0x00 Single device response 0x01 Extended response 0x02-0xFF reserved

Definition at line 409 of file zdo.h.

uint8_t ZDO_NwkAddrReq_t::startIndex

If the Request type for this command is Extended response, the StartIndex provides the starting index for the requested elements of the associated devices list

Definition at line 415 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_NwkAddrResp_t Struct Reference

ZDO_NwkAddrResp_t Struct Reference

This command is generated by a Remote Device in response to a NWK_addr_req command inquiring as to the NWK address of the Remote Device or the NWK address of an address held in a local discovery cache. The destination addressing on this command is unicast. More...

#include <zdo.h>

Data Fields

ExtAddr_t | ieeeAddrRemote
ShortAddr_t | nwkAddrRemote
uint8_t | numAssocDev
uint8_t | startIndex
ShortAddr_t | nwkAddrAssocDevList [ZDP_ADDR_LIST_SIZE]

Detailed Description

This command is generated by a Remote Device in response to a NWK_addr_req command inquiring as to the NWK address of the Remote Device or the NWK address of an address held in a local discovery cache. The destination addressing on this command is unicast.

Definition at line 654 of file zdo.h.

Field Documentation

ExtAddr_t ZDO_NwkAddrResp_t::ieeeAddrRemote

64-bit address for the Remote Device.

Definition at line 657 of file zdo.h.

ShortAddr_t ZDO_NwkAddrResp_t::nwkAddrRemote

16-bit address for the Remote Device.

Definition at line 659 of file zdo.h.

uint8_t ZDO_NwkAddrResp_t::numAssocDev

Count of the number of 16-bit short addresses to follow. If the RequestType in the request is Extended Response and there are no associated devices on the Remote Device, this field shall be set to 0. If an error occurs or the RequestType in the request is for a Single Device Response, this field shall not be included in the frame.

Definition at line 667 of file zdo.h.

uint8_t ZDO_NwkAddrResp_t::startIndex

Starting index into the list of associated devices for this report. If the RequestType in the request is Extended Response and there are no associated devices on the Remote Device, this field shall not be included in the frame. If an error occurs or the RequestType in the request is for a Single Device Response, this field shall not be included in the frame.

Definition at line 673 of file zdo.h.

ShortAddr_t ZDO_NwkAddrResp_t::nwkAddrAssocDevList[ZDP_ADDR_LIST_SIZE]

A list of 16-bit addresses, one corresponding to each associated device to Remote Device; The number of 16-bit network addresses contained in this field is specified in the NumAssocDev field. If the RequestType in the request is Extended Response and there are no associated devices on the Remote Device, this field shall not be included in the frame. If an error occurs or the RequestType in the request is for a Single Device Response, this field shall not be included in the frame.

Definition at line 684 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_PowerDescReq_t Struct Reference

ZDO_PowerDescReq_t Struct Reference

This request is generated from a local device wishing to inquire as to the power descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address for the power descriptor request.

Detailed Description

This request is generated from a local device wishing to inquire as to the power descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device.

Definition at line 457 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_PowerDescReq_t::nwkAddrOfInterest

NWK address for the power descriptor request.

Definition at line 459 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_PowerDescResp_t Struct Reference

ZDO_PowerDescResp_t Struct Reference

This command is generated by a remote device in response to a Power_Desc_req directed to the remote device. This command shall be unicast to the originator of the Power_Desc_req command. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address of the power descriptor request.
PowerDescriptor_t powerDescriptor
Power descriptor of the device.

Detailed Description

This command is generated by a remote device in response to a Power_Desc_req directed to the remote device. This command shall be unicast to the originator of the Power_Desc_req command.

Definition at line 741 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_PowerDescResp_t::nwkAddrOfInterest

NWK address of the power descriptor request.

Definition at line 743 of file zdo.h.

PowerDescriptor_t ZDO_PowerDescResp_t::powerDescriptor

Power descriptor of the device.

Definition at line 744 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_ResetNetworkConf_t Struct Reference

ZDO_ResetNetworkConf_t Struct Reference

Desribes the parameters of the ZDO_ResetNetworkConf() function. More...

#include <zdo.h>

Data Fields

ZDO_Status_t status
Result of the reset request.

Detailed Description

Desribes the parameters of the ZDO_ResetNetworkConf() function.

Definition at line 244 of file zdo.h.

Field Documentation

ZDO_Status_t ZDO_ResetNetworkConf_t::status

Result of the reset request.

Definition at line 246 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_ResetNetworkReq_t Struct Reference

ZDO_ResetNetworkReq_t Struct Reference

Describes the parameters of the ZDO_ResetNetworkReq() function. More...

#include <zdo.h>

Data Fields

ZDO_ResetNetworkConf_t confParams
Parameters of the confirm being returned in ZDO_ResetNetworkConf().
void(* ZDO_ResetNetworkConf )(ZDO_ResetNetworkConf_t *conf)
The function called to confirm the request.

Detailed Description

Describes the parameters of the ZDO_ResetNetworkReq() function.

Definition at line 252 of file zdo.h.

Field Documentation

ZDO_ResetNetworkConf_t ZDO_ResetNetworkReq_t::confParams

Parameters of the confirm being returned in ZDO_ResetNetworkConf().

Definition at line 254 of file zdo.h.

void(* ZDO_ResetNetworkReq_t::ZDO_ResetNetworkConf)(ZDO_ResetNetworkConf_t *conf)

The function called to confirm the request.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_SetTxPowerConf_t Struct Reference

ZDO_SetTxPowerConf_t Struct Reference

Describes the parameters of the ZDO_SetTxPowerConf() function. More...

#include <zdo.h>

Data Fields

ZDO_Status_t status
Result of transmitter power setting.

Detailed Description

Describes the parameters of the ZDO_SetTxPowerConf() function.

Definition at line 1017 of file zdo.h.

Field Documentation

ZDO_Status_t ZDO_SetTxPowerConf_t::status

Result of transmitter power setting.

Definition at line 1019 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_SetTxPowerReq_t Struct Reference

ZDO_SetTxPowerReq_t Struct Reference

Describes the parameters of the ZDO_SetTxPowerReq() function. More...

#include <zdo.h>

Data Fields

uint8_t | txPower
void(* | ZDO_SetTxPowerConf )(ZDO_SetTxPowerConf_t *conf)
The function called to confirm the request.
ZDO_SetTxPowerConf_t confirm
Parameters of the confirm being returned in ZDO_SetTxPowerConf().

Detailed Description

Describes the parameters of the ZDO_SetTxPowerReq() function.

Definition at line 1025 of file zdo.h.

Field Documentation

uint8_t ZDO_SetTxPowerReq_t::txPower

Definition at line 1027 of file zdo.h.

void(* ZDO_SetTxPowerReq_t::ZDO_SetTxPowerConf)(ZDO_SetTxPowerConf_t *conf)

The function called to confirm the request.

Transmitter power to be set (dBm). Valid range is hardware-dependent: for AT86RF230 RF part, it is from 0xEF to 0x03 (-17 to 3). For AT86RF212 RF part, it is from 0xF5 to 0x0B (-11 to 11).

ZDO_SetTxPowerConf_t ZDO_SetTxPowerReq_t::confirm

Parameters of the confirm being returned in ZDO_SetTxPowerConf().

Definition at line 1031 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_SimpleDescReq_t Struct Reference

ZDO_SimpleDescReq_t Struct Reference

This request is generated from a local device wishing to inquire as to the simple descriptor of a remote device on a specified endpoint. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address for the simple descriptor request.
Endpoint_t endpoint
The endpoint on the destination.

Detailed Description

This request is generated from a local device wishing to inquire as to the simple descriptor of a remote device on a specified endpoint. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device.

Definition at line 513 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_SimpleDescReq_t::nwkAddrOfInterest

NWK address for the simple descriptor request.

Definition at line 515 of file zdo.h.

Endpoint_t ZDO_SimpleDescReq_t::endpoint

The endpoint on the destination.

Definition at line 516 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_SimpleDescResp_t Struct Reference

ZDO_SimpleDescResp_t Struct Reference

This command is generated by a remote device in response to a Simple_Desc_req directed to the remote device. This command shall be unicast to the originator of the Simple_Desc_req command. More...

#include <zdo.h>

Data Fields

ShortAddr_t | nwkAddrOfInterest
NWK address of the simple descriptor request.
uint8_t | length
Length in bytes of the Simple Descriptor to follow.
ZdpSimpleDescriptor_t simpleDescriptor
The simple descriptor itself.

Detailed Description

This command is generated by a remote device in response to a Simple_Desc_req directed to the remote device. This command shall be unicast to the originator of the Simple_Desc_req command.

Definition at line 844 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_SimpleDescResp_t::nwkAddrOfInterest

NWK address of the simple descriptor request.

Definition at line 846 of file zdo.h.

uint8_t ZDO_SimpleDescResp_t::length

Length in bytes of the Simple Descriptor to follow.

Definition at line 847 of file zdo.h.

ZdpSimpleDescriptor_t ZDO_SimpleDescResp_t::simpleDescriptor

The simple descriptor itself.

Definition at line 848 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_SleepConf_t Struct Reference

ZDO_SleepConf_t Struct Reference

Desribes the parameters of the ZDO_SleepConf() function. More...

#include <zdo.h>

Data Fields

ZDO_Status_t status

Detailed Description

Desribes the parameters of the ZDO_SleepConf() function.

Definition at line 361 of file zdo.h.

Field Documentation

ZDO_Status_t ZDO_SleepConf_t::status

Stack is ready to sleep if status is ZDO_SUCCESS_STATUS, stack is not ready to sleep if status is ZDO_BUSY_STATUS

Definition at line 365 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_SleepReq_t Struct Reference

ZDO_SleepReq_t Struct Reference

Describes the parameters of the ZDO_SleepReq() function. More...

#include <zdo.h>

Data Fields

ZDO_SleepConf_t confirm
Parameters of the confirm being returned in ZDO_SleepConf().
void(* ZDO_SleepConf )(ZDO_SleepConf_t *conf)
The function called to confirm the request.

Detailed Description

Describes the parameters of the ZDO_SleepReq() function.

Definition at line 371 of file zdo.h.

Field Documentation

ZDO_SleepConf_t ZDO_SleepReq_t::confirm

Parameters of the confirm being returned in ZDO_SleepConf().

Definition at line 373 of file zdo.h.

void(* ZDO_SleepReq_t::ZDO_SleepConf)(ZDO_SleepConf_t *conf)

The function called to confirm the request.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_StartNetworkConf_t Struct Reference

ZDO_StartNetworkConf_t Struct Reference

Describes the parameters of the ZDO_StartNetworkConf() function. More...

#include <zdo.h>

Data Fields

uint8_t | activeChannel
Current channel the device has connected on.
ShortAddr_t | shortAddr
Received short address.
PanId_t | PANId
Received short PANId.
uint64_t | extPANId
Received extended PANId if it was not determined during startup.
ShortAddr_t | parentAddr
Parent address.
ZDO_Status_t status
Result status of network start.

Detailed Description

Describes the parameters of the ZDO_StartNetworkConf() function.

Definition at line 222 of file zdo.h.

Field Documentation

uint8_t ZDO_StartNetworkConf_t::activeChannel

Current channel the device has connected on.

Definition at line 224 of file zdo.h.

ShortAddr_t ZDO_StartNetworkConf_t::shortAddr

Received short address.

Definition at line 225 of file zdo.h.

PanId_t ZDO_StartNetworkConf_t::PANId

Received short PANId.

Definition at line 226 of file zdo.h.

uint64_t ZDO_StartNetworkConf_t::extPANId

Received extended PANId if it was not determined during startup.

Definition at line 227 of file zdo.h.

ShortAddr_t ZDO_StartNetworkConf_t::parentAddr

Parent address.

Definition at line 228 of file zdo.h.

ZDO_Status_t ZDO_StartNetworkConf_t::status

Result status of network start.

Definition at line 229 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_StartNetworkReq_t Struct Reference

ZDO_StartNetworkReq_t Struct Reference

Describes the parameters of the ZDO_StartNetworkReq() function. More...

#include <zdo.h>

Data Fields

ZDO_StartNetworkConf_t confParams
Parameters of the confirm being returned in ZDO_StartNetworkConf().
void(* ZDO_StartNetworkConf )(ZDO_StartNetworkConf_t *conf)
The function called to confirm the request.

Detailed Description

Describes the parameters of the ZDO_StartNetworkReq() function.

Definition at line 235 of file zdo.h.

Field Documentation

ZDO_StartNetworkConf_t ZDO_StartNetworkReq_t::confParams

Parameters of the confirm being returned in ZDO_StartNetworkConf().

Definition at line 237 of file zdo.h.

void(* ZDO_StartNetworkReq_t::ZDO_StartNetworkConf)(ZDO_StartNetworkConf_t *conf)

The function called to confirm the request.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_SystemServerDiscoveryReq_t Struct Reference

ZDO_SystemServerDiscoveryReq_t Struct Reference

This request is generated from a Local Device wishing to discover the location of a particular system server or servers as indicated by the ServerMask parameter. The destination addressing on this request is broadcast to all devices for which macRxOnWhenIdle = TRUE. More...

#include <zdo.h>

Data Fields

uint16_t serverMask
Server mask field of the node descriptor.

Detailed Description

This request is generated from a Local Device wishing to discover the location of a particular system server or servers as indicated by the ServerMask parameter. The destination addressing on this request is broadcast to all devices for which macRxOnWhenIdle = TRUE.

Definition at line 542 of file zdo.h.

Field Documentation

uint16_t ZDO_SystemServerDiscoveryReq_t::serverMask

Server mask field of the node descriptor.

Definition at line 544 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_SystemServerDiscoveryResp_t Struct Reference

ZDO_SystemServerDiscoveryResp_t Struct Reference

This command is generated from Remote Devices on receipt of a System_Server_Discovery_req primitive if the parameter matches the Server Mask field in its node descriptor. If there is no match, the System_Server_Discovery_req shall be ignored and no response given. Matching is performed by masking the ServerMask parameter of the System_Server_Discovery_req with the Server Mask field in the node descriptor. This command shall be unicast to the device which sent System_Server_Discovery_req with Acknowledge request set in TxOptions. The parameter ServerMask contains the bits in the parameter of the request which match the server mask in the node descriptor. More...

#include <zdo.h>

Data Fields

uint16_t serverMask
The server mask field of the node descriptor.

Detailed Description

This command is generated from Remote Devices on receipt of a System_Server_Discovery_req primitive if the parameter matches the Server Mask field in its node descriptor. If there is no match, the System_Server_Discovery_req shall be ignored and no response given. Matching is performed by masking the ServerMask parameter of the System_Server_Discovery_req with the Server Mask field in the node descriptor. This command shall be unicast to the device which sent System_Server_Discovery_req with Acknowledge request set in TxOptions. The parameter ServerMask contains the bits in the parameter of the request which match the server mask in the node descriptor.

Definition at line 863 of file zdo.h.

Field Documentation

uint16_t ZDO_SystemServerDiscoveryResp_t::serverMask

The server mask field of the node descriptor.

Definition at line 865 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_UserDescConfResp_t Struct Reference

ZDO_UserDescConfResp_t Struct Reference

This command is generated by a remote device in response to a User_Desc_set directed to the remote device. This command shall be unicast to the originator of the User_Desc_set command. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address of the user descriptor setting request.

Detailed Description

This command is generated by a remote device in response to a User_Desc_set directed to the remote device. This command shall be unicast to the originator of the User_Desc_set command.

Definition at line 773 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_UserDescConfResp_t::nwkAddrOfInterest

NWK address of the user descriptor setting request.

Definition at line 775 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_UserDescReq_t Struct Reference

ZDO_UserDescReq_t Struct Reference

This request is generated from a local device wishing to inquire as to the user descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address for the user descriptor request.

Detailed Description

This request is generated from a local device wishing to inquire as to the user descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device.

Definition at line 490 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_UserDescReq_t::nwkAddrOfInterest

NWK address for the user descriptor request.

Definition at line 492 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_UserDescResp_t Struct Reference

ZDO_UserDescResp_t Struct Reference

The User_Desc_rsp is generated by a remote device in response to a User_Desc_req directed to the remote device. This command shall be unicast to the originator of the User_Desc_req command. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address of the user descriptor request.
UserDescriptor_t userDescriptor
The user descriptor of a device.

Detailed Description

The User_Desc_rsp is generated by a remote device in response to a User_Desc_req directed to the remote device. This command shall be unicast to the originator of the User_Desc_req command.

Definition at line 762 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_UserDescResp_t::nwkAddrOfInterest

NWK address of the user descriptor request.

Definition at line 764 of file zdo.h.

UserDescriptor_t ZDO_UserDescResp_t::userDescriptor

The user descriptor of a device.

Definition at line 765 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_UserDescSetReq_t Struct Reference

ZDO_UserDescSetReq_t Struct Reference

This is generated from a local device wishing to configure the user descriptor on a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...

#include <zdo.h>

Data Fields

ShortAddr_t nwkAddrOfInterest
NWK address for the user descriptor setting request.
UserDescriptor_t userDescriptor
The user descriptor of a device.

Detailed Description

This is generated from a local device wishing to configure the user descriptor on a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device.

Definition at line 501 of file zdo.h.

Field Documentation

ShortAddr_t ZDO_UserDescSetReq_t::nwkAddrOfInterest

NWK address for the user descriptor setting request.

Definition at line 503 of file zdo.h.

UserDescriptor_t ZDO_UserDescSetReq_t::userDescriptor

The user descriptor of a device.

Definition at line 504 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_WakeUpConf_t Struct Reference

ZDO_WakeUpConf_t Struct Reference

Describes the parameters of the ZDO_WakeUp() function. More...

#include <zdo.h>

Data Fields

ZDO_Status_t status
Result of the wakeup request.

Detailed Description

Describes the parameters of the ZDO_WakeUp() function.

Definition at line 380 of file zdo.h.

Field Documentation

ZDO_Status_t ZDO_WakeUpConf_t::status

Result of the wakeup request.

Definition at line 382 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_WakeUpReq_t Struct Reference

ZDO_WakeUpReq_t Struct Reference

Describes the parameters of the ZDO_SleepReq() function. More...

#include <zdo.h>

Data Fields

ZDO_WakeUpConf_t confirm
Parameters of the confirm being returned in ZDO_WakeUpConf().
void(* ZDO_WakeUpConf )(ZDO_WakeUpConf_t *conf)
The function called to confirm the request.

Detailed Description

Describes the parameters of the ZDO_SleepReq() function.

Definition at line 388 of file zdo.h.

Field Documentation

ZDO_WakeUpConf_t ZDO_WakeUpReq_t::confirm

Parameters of the confirm being returned in ZDO_WakeUpConf().

Definition at line 390 of file zdo.h.

void(* ZDO_WakeUpReq_t::ZDO_WakeUpConf)(ZDO_WakeUpConf_t *conf)

The function called to confirm the request.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_ZdpFrame_t Struct Reference

ZDO_ZdpFrame_t Struct Reference

Frame for transmission one of the ZDP requests. More...

#include <zdo.h>

Data Fields

uint8_t header [APS_ASDU_OFFSET]
union {
ZDO_ZdpRespFrame_t respPayload
ZDO_ZdpReqFrame_t reqPayload
};

Detailed Description

Frame for transmission one of the ZDP requests.

Definition at line 939 of file zdo.h.

Field Documentation

uint8_t ZDO_ZdpFrame_t::header[APS_ASDU_OFFSET]

Definition at line 942 of file zdo.h.

ZDO_ZdpRespFrame_t ZDO_ZdpFrame_t::respPayload

Definition at line 945 of file zdo.h.

ZDO_ZdpReqFrame_t ZDO_ZdpFrame_t::reqPayload

Definition at line 946 of file zdo.h.

union { ... }

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_ZdpReq_t Struct Reference

ZDO_ZdpReq_t Struct Reference

ZDP request. Describes the parameters of the ZDO_ZdpReq() function. More...

#include <zdo.h>

Data Fields

struct {
void * next
} service
uint16_t | reqCluster
Requested cluster.
AddrMode_t dstAddrMode
Destination address mode.
union {
ShortAddr_t dstNwkAddr
Destination short address.
ExtAddr_t dstExtAddr
Destination extended address.
};
ZDO_ZdpFrame_t req
ZDP request parameters.
void(* | ZDO_ZdpResp )(ZDO_ZdpResp_t *zdpResp)
Response callback.
ZDO_ZdpResp_t resp
ZDP response parameters.

Detailed Description

ZDP request. Describes the parameters of the ZDO_ZdpReq() function.

Definition at line 968 of file zdo.h.

Field Documentation

void* ZDO_ZdpReq_t::next

Definition at line 973 of file zdo.h.

struct { ... } ZDO_ZdpReq_t::service

uint16_t ZDO_ZdpReq_t::reqCluster

Requested cluster.

Definition at line 977 of file zdo.h.

AddrMode_t ZDO_ZdpReq_t::dstAddrMode

Destination address mode.

Definition at line 978 of file zdo.h.

ShortAddr_t ZDO_ZdpReq_t::dstNwkAddr

Destination short address.

Definition at line 981 of file zdo.h.

ExtAddr_t ZDO_ZdpReq_t::dstExtAddr

Destination extended address.

Definition at line 982 of file zdo.h.

union { ... }

ZDO_ZdpFrame_t ZDO_ZdpReq_t::req

ZDP request parameters.

Definition at line 985 of file zdo.h.

void(* ZDO_ZdpReq_t::ZDO_ZdpResp)(ZDO_ZdpResp_t *zdpResp)

Response callback.

ZDO_ZdpResp_t ZDO_ZdpReq_t::resp

ZDP response parameters.

Definition at line 988 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_ZdpReqFrame_t Struct Reference

ZDO_ZdpReqFrame_t Struct Reference

This struct contains one of the ZDP requests. More...

#include <zdo.h>

Data Fields

uint8_t seqNum
Sequence number of a ZDP command.
union {
ZDO_NwkAddrReq_t nwkAddrReq
NWK address request.
ZDO_IeeeAddrReq_t ieeeAddrReq
IEEE address request.
ZDO_NodeDescReq_t nodeDescReq
Node descriptor request.
ZDO_PowerDescReq_t powerDescReq
Power descriptor request.
ZDO_SimpleDescReq_t simpleDescReq
Simple descriptor request.
ZDO_DeviceAnnceReq_t deviceAnnce
Device_annce request.
ZDO_ActiveEPReq_t activeEPReq
Active endpoint request.
ZDO_ComplexDescReq_t complexDescReq
Complex descriptor request (not supported yet).
ZDO_UserDescReq_t userDescReq
User descriptor request (not supported yet).
ZDO_UserDescSetReq_t userDescSetReq
User descriptor setting (not supported yet).
ZDO_SystemServerDiscoveryReq_t systemServerDiscoveryReq
System server discovery request.
ZDO_MgmtLeaveReq_t mgmtLeaveReq
Leave request.
ZDO_MgmtPermitJoiningReq_t mgmtPermitJoiningReq
Permit joining request.
ZDO_MgmtNwkUpdateReq_t mgmtNwkUpdateReq
Network update request.
ZDO_MgmtNwkUpdateNotf_t mgmtNwkUpdateNotf
Network update notification.
ZDO_MgmtLqiReq_t mgmtLqiReq
LQI request.
};

Detailed Description

This struct contains one of the ZDP requests.

Definition at line 908 of file zdo.h.

Field Documentation

uint8_t ZDO_ZdpReqFrame_t::seqNum

Sequence number of a ZDP command.

Definition at line 910 of file zdo.h.

ZDO_NwkAddrReq_t ZDO_ZdpReqFrame_t::nwkAddrReq

NWK address request.

Definition at line 914 of file zdo.h.

ZDO_IeeeAddrReq_t ZDO_ZdpReqFrame_t::ieeeAddrReq

IEEE address request.

Definition at line 915 of file zdo.h.

ZDO_NodeDescReq_t ZDO_ZdpReqFrame_t::nodeDescReq

Node descriptor request.

Definition at line 916 of file zdo.h.

ZDO_PowerDescReq_t ZDO_ZdpReqFrame_t::powerDescReq

Power descriptor request.

Definition at line 917 of file zdo.h.

ZDO_SimpleDescReq_t ZDO_ZdpReqFrame_t::simpleDescReq

Simple descriptor request.

Definition at line 918 of file zdo.h.

ZDO_DeviceAnnceReq_t ZDO_ZdpReqFrame_t::deviceAnnce

Device_annce request.

Definition at line 919 of file zdo.h.

ZDO_ActiveEPReq_t ZDO_ZdpReqFrame_t::activeEPReq

Active endpoint request.

Definition at line 920 of file zdo.h.

ZDO_ComplexDescReq_t ZDO_ZdpReqFrame_t::complexDescReq

Complex descriptor request (not supported yet).

Definition at line 921 of file zdo.h.

ZDO_UserDescReq_t ZDO_ZdpReqFrame_t::userDescReq

User descriptor request (not supported yet).

Definition at line 922 of file zdo.h.

ZDO_UserDescSetReq_t ZDO_ZdpReqFrame_t::userDescSetReq

User descriptor setting (not supported yet).

Definition at line 923 of file zdo.h.

ZDO_SystemServerDiscoveryReq_t ZDO_ZdpReqFrame_t::systemServerDiscoveryReq

System server discovery request.

Definition at line 924 of file zdo.h.

ZDO_MgmtLeaveReq_t ZDO_ZdpReqFrame_t::mgmtLeaveReq

Leave request.

Definition at line 928 of file zdo.h.

ZDO_MgmtPermitJoiningReq_t ZDO_ZdpReqFrame_t::mgmtPermitJoiningReq

Permit joining request.

Definition at line 929 of file zdo.h.

ZDO_MgmtNwkUpdateReq_t ZDO_ZdpReqFrame_t::mgmtNwkUpdateReq

Network update request.

Definition at line 930 of file zdo.h.

ZDO_MgmtNwkUpdateNotf_t ZDO_ZdpReqFrame_t::mgmtNwkUpdateNotf

Network update notification.

Definition at line 931 of file zdo.h.

ZDO_MgmtLqiReq_t ZDO_ZdpReqFrame_t::mgmtLqiReq

LQI request.

Definition at line 932 of file zdo.h.

union { ... }

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_ZdpResp_t Struct Reference

ZDO_ZdpResp_t Struct Reference

ZDP response. More...

#include <zdo.h>

Data Fields

AddrMode_t srcAddrMode
Source address mode, either short or extended.
union {
ShortAddr_t srcNwkAddr
Short source address.
ExtAddr_t srcExtAddr
Extended source address.
};
ZDO_ZdpRespFrame_t respPayload
Response frame.

Detailed Description

ZDP response.

Definition at line 954 of file zdo.h.

Field Documentation

AddrMode_t ZDO_ZdpResp_t::srcAddrMode

Source address mode, either short or extended.

Definition at line 956 of file zdo.h.

ShortAddr_t ZDO_ZdpResp_t::srcNwkAddr

Short source address.

Definition at line 959 of file zdo.h.

ExtAddr_t ZDO_ZdpResp_t::srcExtAddr

Extended source address.

Definition at line 960 of file zdo.h.

union { ... }

ZDO_ZdpRespFrame_t ZDO_ZdpResp_t::respPayload

Response frame.

Definition at line 962 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZDO_ZdpRespFrame_t Struct Reference

ZDO_ZdpRespFrame_t Struct Reference

This struct contains response to one of the ZDP requests. More...

#include <zdo.h>

Data Fields

uint8_t | seqNum
Sequence number of a ZDP command.
uint8_t | status
Result of a ZDP request. Is interpreted as ZDO_Status_t.
union {
ZDO_NwkAddrResp_t nwkAddrResp
NWK address response.
ZDO_IeeeAddrResp_t ieeeAddrResp
IEEE address response.
ZDO_NodeDescResp_t nodeDescResp
Node descriptor response.
ZDO_PowerDescResp_t powerDescResp
Power descriptor response.
ZDO_SimpleDescResp_t simpleDescResp
Simple descriptor response.
ZDO_ComplexDescResp_t complexDescResp
Complex descriptor response.
ZDO_UserDescResp_t userDescResp
User descriptor response.
ZDO_ActiveEPResp_t activeEPResp
Active endpoint response.
ZDO_UserDescConfResp_t userDescConfResp
User descriptor setting confirmation.
ZDO_SystemServerDiscoveryResp_t systemServerDiscoveryResp
System server discovery response.
ZDO_MgmtNwkUpdateNotf_t mgmtNwkUpdateNotf
Network update notification.
ZDO_MgmtLqiResp_t mgmtLqiResp
LQI response.
};

Detailed Description

This struct contains response to one of the ZDP requests.

Definition at line 880 of file zdo.h.

Field Documentation

uint8_t ZDO_ZdpRespFrame_t::seqNum

Sequence number of a ZDP command.

Definition at line 882 of file zdo.h.

uint8_t ZDO_ZdpRespFrame_t::status

Result of a ZDP request. Is interpreted as ZDO_Status_t.

Definition at line 884 of file zdo.h.

ZDO_NwkAddrResp_t ZDO_ZdpRespFrame_t::nwkAddrResp

NWK address response.

Definition at line 887 of file zdo.h.

ZDO_IeeeAddrResp_t ZDO_ZdpRespFrame_t::ieeeAddrResp

IEEE address response.

Definition at line 888 of file zdo.h.

ZDO_NodeDescResp_t ZDO_ZdpRespFrame_t::nodeDescResp

Node descriptor response.

Definition at line 889 of file zdo.h.

ZDO_PowerDescResp_t ZDO_ZdpRespFrame_t::powerDescResp

Power descriptor response.

Definition at line 890 of file zdo.h.

ZDO_SimpleDescResp_t ZDO_ZdpRespFrame_t::simpleDescResp

Simple descriptor response.

Definition at line 891 of file zdo.h.

ZDO_ComplexDescResp_t ZDO_ZdpRespFrame_t::complexDescResp

Complex descriptor response.

Definition at line 892 of file zdo.h.

ZDO_UserDescResp_t ZDO_ZdpRespFrame_t::userDescResp

User descriptor response.

Definition at line 893 of file zdo.h.

ZDO_ActiveEPResp_t ZDO_ZdpRespFrame_t::activeEPResp

Active endpoint response.

Definition at line 894 of file zdo.h.

ZDO_UserDescConfResp_t ZDO_ZdpRespFrame_t::userDescConfResp

User descriptor setting confirmation.

Definition at line 895 of file zdo.h.

ZDO_SystemServerDiscoveryResp_t ZDO_ZdpRespFrame_t::systemServerDiscoveryResp

System server discovery response.

Definition at line 896 of file zdo.h.

ZDO_MgmtNwkUpdateNotf_t ZDO_ZdpRespFrame_t::mgmtNwkUpdateNotf

Network update notification.

Definition at line 900 of file zdo.h.

ZDO_MgmtLqiResp_t ZDO_ZdpRespFrame_t::mgmtLqiResp

LQI response.

Definition at line 901 of file zdo.h.

union { ... }

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZdpSimpleDescriptor_t Struct Reference

ZdpSimpleDescriptor_t Struct Reference

The simple descriptor contains information specific to each endpoint contained in this node. The simple descriptor is mandatory for each endpoint present in the node. More...

#include <zdo.h>

Data Fields

Endpoint_t endpoint
ProfileId_t AppProfileId
uint16_t | AppDeviceId
uint8_t | AppDeviceVersion: 4
uint8_t | Reserved: 4
uint8_t | AppInClustersCount
ClusterId_t | AppInClustersList [MAX_REQUESTED_CLUSTER_NUMBER]
uint8_t | AppOutClustersCount
ClusterId_t | AppOutClustersList [MAX_REQUESTED_CLUSTER_NUMBER]

Detailed Description

The simple descriptor contains information specific to each endpoint contained in this node. The simple descriptor is mandatory for each endpoint present in the node.

Definition at line 794 of file zdo.h.

Field Documentation

Endpoint_t ZdpSimpleDescriptor_t::endpoint

The endpoint field of the simple descriptor is eight bits in length and specifies the endpoint within the node to which this description refers. Applications shall only use endpoints 1-240.

Definition at line 799 of file zdo.h.

ProfileId_t ZdpSimpleDescriptor_t::AppProfileId

The application profile identifier field of the simple descriptor is sixteen bits in length and specifies the profile that is supported on this endpoint. Profile identifiers shall be obtained from the ZigBee Alliance.

Definition at line 803 of file zdo.h.

uint16_t ZdpSimpleDescriptor_t::AppDeviceId

The application device identifier field of the simple descriptor is sixteen bits in length and specifies the device description supported on this endpoint. Device description identifiers shall be obtained from the ZigBee Alliance.

Definition at line 807 of file zdo.h.

uint8_t ZdpSimpleDescriptor_t::AppDeviceVersion

The application device version field of the simple descriptor is four bits in length and specifies the version of the device description supported on this endpoint.

Definition at line 810 of file zdo.h.

uint8_t ZdpSimpleDescriptor_t::Reserved

Definition at line 811 of file zdo.h.

uint8_t ZdpSimpleDescriptor_t::AppInClustersCount

The application input cluster count field of the simple descriptor is eight bits in length and specifies the number of input clusters, supported on this endpoint, that will appear in the application input cluster list field. If the value of this field is zero, the application input cluster list field shall not be included.

Definition at line 816 of file zdo.h.

ClusterId_t ZdpSimpleDescriptor_t::AppInClustersList[MAX_REQUESTED_CLUSTER_NUMBER]

The application input cluster list of the simple descriptor is 16*i bits in length, where i is the value of the application input cluster count field. This field specifies the list of input clusters supported on this endpoint, for use during the service discovery and binding procedures. The application input cluster list field shall be included only if the value of the application input cluster count field is greater than zero.

Definition at line 823 of file zdo.h.

uint8_t ZdpSimpleDescriptor_t::AppOutClustersCount

The application output cluster count field of the simple descriptor is eight bits in length and specifies the number of output clusters, supported on this endpoint, that will appear in the application output cluster list field. If the value of this field is zero, the application output cluster list field shall not be included.

Definition at line 828 of file zdo.h.

ClusterId_t ZdpSimpleDescriptor_t::AppOutClustersList[MAX_REQUESTED_CLUSTER_NUMBER]

The application output cluster list of the simple descriptor is 16*o bits in length, where o is the value of the application output cluster count field. This field specifies the list of output clusters supported on this endpoint, for use during the service discovery and binding procedures. The application output cluster list field shall be included only if the value of the application output cluster count field is greater than zero.

Definition at line 835 of file zdo.h.

The documentation for this struct was generated from the following file:
  • zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- a -

  • acknowledgedTransmission : APS_TxOptions_t
  • activeChannel : ZDO_StartNetworkConf_t
  • activeEPCount : ZDO_ActiveEPResp_t
  • activeEPList : ZDO_ActiveEPResp_t
  • activeEPReq : ZDO_ZdpReqFrame_t
  • activeEPResp : ZDO_ZdpRespFrame_t
  • address : HAL_EepromParams_t
  • aibAttribute : APS_GetReq_t , APS_SetReq_t
  • aibAttributeLength : APS_GetConf_t , APS_SetReq_t
  • aibAttributeValue : APS_GetConf_t , APS_SetReq_t
  • allocAddr : MacCapabilityFlags_t
  • altPANcoord : MacCapabilityFlags_t
  • AppDeviceId : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppDeviceVersion : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppInClustersCount : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppInClustersList : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppOutClustersCount : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppOutClustersList : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppProfileId : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • APS_DataConf : APS_DataReq_t
  • APS_DataInd : APS_RegisterEndpointReq_t
  • apsBindingTable : APS_AibAttribute_t
  • apscAckWaitDuration : APS_AibPermissionsConfiguration_t
  • apsChannelMask : APS_AibAttribute_t
  • apscInterframeDelay : APS_AibPermissionsConfiguration_t
  • apscMaxDescriptorSize : APS_AibPermissionsConfiguration_t
  • apscMaxFrameRetries : APS_AibPermissionsConfiguration_t
  • apscMaxWindowSize : APS_AibPermissionsConfiguration_t
  • apscMinDuplicateRejectionTableSize : APS_AibPermissionsConfiguration_t
  • apscMinHeaderOverHead : APS_AibPermissionsConfiguration_t
  • apsDesignatedCoordinator : APS_AibAttribute_t
  • apsDeviceKeyPairSet : APS_AibAttribute_t
  • apsFlags : NodeDescriptor_t
  • apsGroupTable : APS_AibAttribute_t
  • apsInterframeDelay : APS_AibAttribute_t
  • apsNonmemberRadius : APS_AibAttribute_t
  • apsPermissionsConfiguration : APS_AibAttribute_t
  • apsSecurityTimeOutPeriod : APS_AibAttribute_t
  • apsTrustCenterAddress : APS_AibAttribute_t
  • apsUseExtendedPANID : APS_AibAttribute_t
  • apsUseInsecureJoin : APS_AibAttribute_t
  • asdu : APS_DataInd_t , APS_DataReq_t
  • asduLength : APS_DataReq_t , APS_DataInd_t
  • availablePowerSources : PowerDescriptor_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- l -

  • length : ZDO_SimpleDescResp_t , HAL_EepromParams_t , HAL_I2cParams_t
  • linkQuality : APS_DataInd_t
  • logicalChannel : ZDO_Neib_t
  • logicalType : NodeDescriptor_t
  • lqi : ZDO_MgmtLqiResp_t , ZDO_Neib_t , ZDO_GetLqiRssi_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- m -

  • macCapability : ZDO_DeviceAnnceReq_t
  • macCapbFlags : NodeDescriptor_t
  • manufacturerCode : NodeDescriptor_t
  • maxBufferSize : NodeDescriptor_t
  • maxOutcTransferSize : NodeDescriptor_t
  • maxTransferSize : NodeDescriptor_t
  • mgmtLeaveReq : ZDO_ZdpReqFrame_t
  • mgmtLqiReq : ZDO_ZdpReqFrame_t
  • mgmtLqiResp : ZDO_ZdpRespFrame_t
  • mgmtNwkUpdateNotf : ZDO_ZdpRespFrame_t , ZDO_ZdpReqFrame_t
  • mgmtNwkUpdateReq : ZDO_ZdpReqFrame_t
  • mgmtPermitJoiningReq : ZDO_ZdpReqFrame_t
  • mode : HAL_UartDescriptor_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- n -

  • neighborTableEntries : ZDO_MgmtLqiResp_t
  • neighborTableList : ZDO_MgmtLqiResp_t
  • neighborTableListCount : ZDO_MgmtLqiResp_t
  • networkAddr : ZDO_MgmtLqiResp_t
  • next : APS_DataReq_t , ZDO_ZdpReq_t , APS_RegisterEndpointReq_t
  • nodeAddr : ZDO_GetLqiRssi_t
  • nodeDescReq : ZDO_ZdpReqFrame_t
  • nodeDescResp : ZDO_ZdpRespFrame_t
  • nodeDescriptor : ZDO_NodeDescResp_t
  • noIndication : APS_RegisterEndpointReq_t
  • numAssocDev : ZDO_NwkAddrResp_t , ZDO_IeeeAddrResp_t
  • nwkAddrAssocDevList : ZDO_NwkAddrResp_t , ZDO_IeeeAddrResp_t
  • nwkAddrLocal : ZDO_DeviceAnnceReq_t
  • nwkAddrOfInterest : ZDO_ActiveEPReq_t , ZDO_PowerDescReq_t , ZDO_ActiveEPResp_t , ZDO_SimpleDescResp_t , ZDO_IeeeAddrReq_t , ZDO_SimpleDescReq_t , ZDO_NodeDescReq_t , ZDO_UserDescConfResp_t , ZDO_UserDescSetReq_t , ZDO_PowerDescResp_t , ZDO_NodeDescResp_t , ZDO_ComplexDescResp_t , ZDO_UserDescResp_t , ZDO_ComplexDescReq_t , ZDO_UserDescReq_t
  • nwkAddrRemote : ZDO_NwkAddrResp_t , ZDO_IeeeAddrResp_t
  • nwkAddrReq : ZDO_ZdpReqFrame_t
  • nwkAddrResp : ZDO_ZdpRespFrame_t
  • nwkManagerAddr : ZDO_MgmtNwkUpdateReq_t
  • nwkUpdateId : ZDO_MgmtNwkUpdateReq_t
  • nwkUpdateInf : ZDO_MgmtNwkUpdateNotf_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- z -

  • ZDO_ResetNetworkConf : ZDO_ResetNetworkReq_t
  • ZDO_SetTxPowerConf : ZDO_SetTxPowerReq_t
  • ZDO_SleepConf : ZDO_SleepReq_t
  • ZDO_StartNetworkConf : ZDO_StartNetworkReq_t
  • ZDO_WakeUpConf : ZDO_WakeUpReq_t
  • ZDO_ZdpResp : ZDO_ZdpReq_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- b -

  • baudrate : HAL_UartDescriptor_t
  • bDescriptorType : HAL_UsbEndPointDescptr_t
  • bEndpointAddress : HAL_UsbEndPointDescptr_t
  • bInterval : HAL_UsbEndPointDescptr_t
  • bLength : HAL_UsbEndPointDescptr_t
  • bmAttributes : HAL_UsbEndPointDescptr_t
  • bufferPointer : HAL_AdcParams_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- c -

  • callback : HAL_AdcParams_t
  • childAddr : ZDO_MgmtNwkUpdateNotf_t
  • childrenAmount : ZDO_GetNeibAmount_t
  • childrenCount : ZDO_GetChildrenAddr_t
  • childrenTable : ZDO_GetChildrenAddr_t
  • clockrate : HAL_i2cMode_t
  • clusterId : APS_DataReq_t , APS_DataInd_t
  • complexDescReq : ZDO_ZdpReqFrame_t
  • complexDescResp : ZDO_ZdpRespFrame_t
  • complexDescriptorAvailable : NodeDescriptor_t
  • CompressedXMLTag : ComplexDescriptorField_t
  • confirm : ZDO_SleepReq_t , APS_RemoveAllGroupsReq_t , APS_DataReq_t , APS_RemoveGroupReq_t , ZDO_WakeUpReq_t , APS_SetReq_t , APS_GetReq_t , APS_AddGroupReq_t , ZDO_SetTxPowerReq_t
  • conflictAddress : ZDO_MgmtNwkUpdateNotf_t
  • confParams : ZDO_ResetNetworkReq_t , ZDO_StartNetworkReq_t
  • currentChannel : NetworkInf_t
  • currentPowerMode : PowerDescriptor_t
  • currentPowerSource : PowerDescriptor_t
  • currentPowerSourceLevel : PowerDescriptor_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- d -

  • data : HAL_EepromParams_t , HAL_I2cParams_t
  • dataLength : HAL_UartDescriptor_t
  • depth : ZDO_MgmtLqiResp_t , ZDO_Neib_t
  • descriptorCapabilityField : NodeDescriptor_t
  • deviceAddr : ZDO_MgmtLeaveReq_t
  • deviceAnnce : ZDO_ZdpReqFrame_t
  • deviceType : ZDO_Neib_t , ZDO_MgmtLqiResp_t
  • devType : MacCapabilityFlags_t
  • dstAddress : APS_DataInd_t , APS_DataReq_t
  • dstAddrMode : APS_DataInd_t , APS_DataReq_t , ZDO_ZdpReq_t
  • dstEndpoint : APS_DataReq_t , APS_DataInd_t
  • dstExtAddr : ZDO_ZdpReq_t
  • dstNwkAddr : ZDO_ZdpReq_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- e -

  • edge : HAL_UartDescriptor_t
  • endpoint : APS_AddGroupReq_t , APS_RemoveAllGroupsReq_t , APS_UnregisterEndpointReq_t , ZdpSimpleDescriptor_t , ZDO_SimpleDescReq_t , APS_RemoveGroupReq_t , SimpleDescriptor_t
  • energyValues : EDScan_t
  • extAddr : ZDO_Neib_t , ZDO_MgmtLqiResp_t , NodeAddr_t
  • extAddress : APS_Address_t
  • extPanId : ZDO_MgmtLqiResp_t , ZDO_Neib_t
  • extPANId : ZDO_StartNetworkConf_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- f -

  • f : HAL_I2cParams_t
  • FieldCount : ComplexDescriptor_t
  • FieldLength : UserDescriptor_t
  • FieldName : UserDescriptor_t
  • flowControl : HAL_UartDescriptor_t
  • fragmentationPermitted : APS_TxOptions_t
  • frequencyBand : NodeDescriptor_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- g -

  • groupAddress : APS_Address_t , APS_RemoveGroupReq_t , APS_AddGroupReq_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- h -

  • header : ZDO_ZdpFrame_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- i -

  • id : HAL_I2cParams_t
  • ieeeAddrLocal : ZDO_DeviceAnnceReq_t
  • ieeeAddrOfInterest : ZDO_NwkAddrReq_t
  • ieeeAddrRemote : ZDO_IeeeAddrResp_t , ZDO_NwkAddrResp_t
  • ieeeAddrReq : ZDO_ZdpReqFrame_t
  • ieeeAddrResp : ZDO_ZdpRespFrame_t
  • internalAddr : HAL_I2cParams_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- p -

  • PANId : ZDO_StartNetworkConf_t
  • panId : NetworkInf_t
  • parentAddr : ZDO_StartNetworkConf_t
  • parentShortAddr : NetworkInf_t
  • parity : HAL_UartDescriptor_t
  • pDataField : ComplexDescriptorField_t
  • permitDuration : ZDO_MgmtPermitJoiningReq_t
  • permitJoining : ZDO_MgmtLqiResp_t , ZDO_Neib_t
  • pFields : ComplexDescriptor_t
  • potentialParent : ZDO_Neib_t
  • powerDescReq : ZDO_ZdpReqFrame_t
  • powerDescResp : ZDO_ZdpRespFrame_t
  • powerDescriptor : ZDO_PowerDescResp_t
  • profileId : APS_DataInd_t , APS_DataReq_t
  • pwrSrc : MacCapabilityFlags_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- r -

  • radius : APS_DataReq_t
  • rejoin : ZDO_MgmtLeaveReq_t
  • relationship : ZDO_MgmtLqiResp_t , ZDO_Neib_t
  • removeChildren : ZDO_MgmtLeaveReq_t
  • req : ZDO_ZdpReq_t
  • reqCluster : ZDO_ZdpReq_t
  • reqPayload : ZDO_ZdpFrame_t
  • reqType : ZDO_NwkAddrReq_t , ZDO_IeeeAddrReq_t
  • Reserved : SimpleDescriptor_t
  • reserved : APS_RegisterEndpointReq_t
  • Reserved : ZdpSimpleDescriptor_t
  • reserved : APS_TxOptions_t , NodeDescriptor_t , ZDO_MgmtLeaveReq_t
  • reserved1 : ZDO_MgmtLqiResp_t
  • reserved2 : ZDO_MgmtLqiResp_t
  • resolution : HAL_AdcParams_t
  • resp : ZDO_ZdpReq_t
  • respPayload : ZDO_ZdpFrame_t , ZDO_ZdpResp_t
  • routersAmount : ZDO_GetNeibAmount_t
  • rssi : ZDO_Neib_t , ZDO_GetLqiRssi_t
  • rsvd : MacCapabilityFlags_t
  • rxBuffer : HAL_UartDescriptor_t
  • rxBufferLength : HAL_UartDescriptor_t
  • rxCallback : HAL_UartDescriptor_t
  • rxOnWhenIdle : MacCapabilityFlags_t , ZDO_Neib_t , ZDO_MgmtLqiResp_t
  • rxTime : APS_DataInd_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- s -

  • sampleRate : HAL_AdcParams_t
  • scanChannels : ZDO_MgmtNwkUpdateReq_t
  • scanCount : ZDO_MgmtNwkUpdateReq_t
  • scanDuration : ZDO_MgmtNwkUpdateReq_t
  • scannedChannels : EDScan_t
  • scannedChannelsListCount : EDScan_t
  • scanResult : ZDO_MgmtNwkUpdateNotf_t
  • secCapb : MacCapabilityFlags_t
  • securityEnabledTransmission : APS_TxOptions_t
  • securityStatus : APS_DataInd_t
  • selectionsAmount : HAL_AdcParams_t
  • seqNum : ZDO_ZdpRespFrame_t , ZDO_ZdpReqFrame_t
  • serverMask : ZDO_SystemServerDiscoveryReq_t , NodeDescriptor_t , ZDO_SystemServerDiscoveryResp_t
  • service : APS_RegisterEndpointReq_t , APS_DataReq_t , ZDO_ZdpReq_t
  • shortAddr : ZDO_StartNetworkConf_t , NodeAddr_t , NetworkInf_t , ZDO_Neib_t
  • shortAddress : APS_Address_t
  • simpleDescReq : ZDO_ZdpReqFrame_t
  • simpleDescResp : ZDO_ZdpRespFrame_t
  • simpleDescriptor : APS_RegisterEndpointReq_t , ZDO_SimpleDescResp_t
  • srcAddress : APS_DataInd_t
  • srcAddrMode : APS_DataInd_t , ZDO_ZdpResp_t
  • srcEndpoint : APS_DataInd_t , APS_DataReq_t
  • srcExtAddr : ZDO_ZdpResp_t
  • srcNwkAddr : ZDO_ZdpResp_t
  • startIndex : ZDO_NwkAddrReq_t , ZDO_IeeeAddrReq_t , ZDO_NwkAddrResp_t , ZDO_IeeeAddrResp_t , ZDO_MgmtLqiResp_t , ZDO_MgmtLqiReq_t
  • status : ZDO_ResetNetworkConf_t , APS_GetConf_t , ZDO_WakeUpConf_t , APS_AddGroupConf_t , APS_DataConf_t , APS_DataInd_t , ZDO_SleepConf_t , APS_RemoveGroupConf_t , ZDO_SetTxPowerConf_t , ZDO_MgmtNwkUpdateNotf_t , ZDO_StartNetworkConf_t , APS_RemoveAllGroupsConf_t , ZDO_ZdpRespFrame_t , APS_SetConf_t
  • stopbits : HAL_UartDescriptor_t
  • syncMode : HAL_UartDescriptor_t
  • systemServerDiscoveryReq : ZDO_ZdpReqFrame_t
  • systemServerDiscoveryResp : ZDO_ZdpRespFrame_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- t -

  • tcSignificance : ZDO_MgmtPermitJoiningReq_t
  • totalTransmissions : EDScan_t
  • transmissionsFailures : EDScan_t
  • tty : HAL_UartDescriptor_t
  • txBuffer : HAL_UartDescriptor_t
  • txBufferLength : HAL_UartDescriptor_t
  • txCallback : HAL_UartDescriptor_t
  • txOptions : APS_DataReq_t
  • txPower : ZDO_SetTxPowerReq_t
  • txTime : APS_DataConf_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- u -

  • useNwkKey : APS_TxOptions_t
  • userDescConfResp : ZDO_ZdpRespFrame_t
  • userDescReq : ZDO_ZdpReqFrame_t
  • userDescResp : ZDO_ZdpRespFrame_t
  • userDescriptor : ZDO_UserDescResp_t , ZDO_UserDescSetReq_t
  • userDescriptorAvailable : NodeDescriptor_t
  • userDescSetReq : ZDO_ZdpReqFrame_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- v -

  • voltageReference : HAL_AdcParams_t


BitCloud Stack Documentation: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- w -

  • wMaxPacketSize : HAL_UsbEndPointDescptr_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- a -

  • acknowledgedTransmission : APS_TxOptions_t
  • activeChannel : ZDO_StartNetworkConf_t
  • activeEPCount : ZDO_ActiveEPResp_t
  • activeEPList : ZDO_ActiveEPResp_t
  • activeEPReq : ZDO_ZdpReqFrame_t
  • activeEPResp : ZDO_ZdpRespFrame_t
  • address : HAL_EepromParams_t
  • aibAttribute : APS_GetReq_t , APS_SetReq_t
  • aibAttributeLength : APS_GetConf_t , APS_SetReq_t
  • aibAttributeValue : APS_GetConf_t , APS_SetReq_t
  • allocAddr : MacCapabilityFlags_t
  • altPANcoord : MacCapabilityFlags_t
  • AppDeviceId : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppDeviceVersion : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppInClustersCount : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppInClustersList : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppOutClustersCount : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppOutClustersList : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • AppProfileId : SimpleDescriptor_t , ZdpSimpleDescriptor_t
  • APS_DataConf : APS_DataReq_t
  • APS_DataInd : APS_RegisterEndpointReq_t
  • apsBindingTable : APS_AibAttribute_t
  • apscAckWaitDuration : APS_AibPermissionsConfiguration_t
  • apsChannelMask : APS_AibAttribute_t
  • apscInterframeDelay : APS_AibPermissionsConfiguration_t
  • apscMaxDescriptorSize : APS_AibPermissionsConfiguration_t
  • apscMaxFrameRetries : APS_AibPermissionsConfiguration_t
  • apscMaxWindowSize : APS_AibPermissionsConfiguration_t
  • apscMinDuplicateRejectionTableSize : APS_AibPermissionsConfiguration_t
  • apscMinHeaderOverHead : APS_AibPermissionsConfiguration_t
  • apsDesignatedCoordinator : APS_AibAttribute_t
  • apsDeviceKeyPairSet : APS_AibAttribute_t
  • apsFlags : NodeDescriptor_t
  • apsGroupTable : APS_AibAttribute_t
  • apsInterframeDelay : APS_AibAttribute_t
  • apsNonmemberRadius : APS_AibAttribute_t
  • apsPermissionsConfiguration : APS_AibAttribute_t
  • apsSecurityTimeOutPeriod : APS_AibAttribute_t
  • apsTrustCenterAddress : APS_AibAttribute_t
  • apsUseExtendedPANID : APS_AibAttribute_t
  • apsUseInsecureJoin : APS_AibAttribute_t
  • asdu : APS_DataInd_t , APS_DataReq_t
  • asduLength : APS_DataReq_t , APS_DataInd_t
  • availablePowerSources : PowerDescriptor_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- l -

  • length : ZDO_SimpleDescResp_t , HAL_EepromParams_t , HAL_I2cParams_t
  • linkQuality : APS_DataInd_t
  • logicalChannel : ZDO_Neib_t
  • logicalType : NodeDescriptor_t
  • lqi : ZDO_MgmtLqiResp_t , ZDO_Neib_t , ZDO_GetLqiRssi_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- m -

  • macCapability : ZDO_DeviceAnnceReq_t
  • macCapbFlags : NodeDescriptor_t
  • manufacturerCode : NodeDescriptor_t
  • maxBufferSize : NodeDescriptor_t
  • maxOutcTransferSize : NodeDescriptor_t
  • maxTransferSize : NodeDescriptor_t
  • mgmtLeaveReq : ZDO_ZdpReqFrame_t
  • mgmtLqiReq : ZDO_ZdpReqFrame_t
  • mgmtLqiResp : ZDO_ZdpRespFrame_t
  • mgmtNwkUpdateNotf : ZDO_ZdpRespFrame_t , ZDO_ZdpReqFrame_t
  • mgmtNwkUpdateReq : ZDO_ZdpReqFrame_t
  • mgmtPermitJoiningReq : ZDO_ZdpReqFrame_t
  • mode : HAL_UartDescriptor_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- n -

  • neighborTableEntries : ZDO_MgmtLqiResp_t
  • neighborTableList : ZDO_MgmtLqiResp_t
  • neighborTableListCount : ZDO_MgmtLqiResp_t
  • networkAddr : ZDO_MgmtLqiResp_t
  • next : APS_DataReq_t , ZDO_ZdpReq_t , APS_RegisterEndpointReq_t
  • nodeAddr : ZDO_GetLqiRssi_t
  • nodeDescReq : ZDO_ZdpReqFrame_t
  • nodeDescResp : ZDO_ZdpRespFrame_t
  • nodeDescriptor : ZDO_NodeDescResp_t
  • noIndication : APS_RegisterEndpointReq_t
  • numAssocDev : ZDO_NwkAddrResp_t , ZDO_IeeeAddrResp_t
  • nwkAddrAssocDevList : ZDO_NwkAddrResp_t , ZDO_IeeeAddrResp_t
  • nwkAddrLocal : ZDO_DeviceAnnceReq_t
  • nwkAddrOfInterest : ZDO_ActiveEPReq_t , ZDO_PowerDescReq_t , ZDO_ActiveEPResp_t , ZDO_SimpleDescResp_t , ZDO_IeeeAddrReq_t , ZDO_SimpleDescReq_t , ZDO_NodeDescReq_t , ZDO_UserDescConfResp_t , ZDO_UserDescSetReq_t , ZDO_PowerDescResp_t , ZDO_NodeDescResp_t , ZDO_ComplexDescResp_t , ZDO_UserDescResp_t , ZDO_ComplexDescReq_t , ZDO_UserDescReq_t
  • nwkAddrRemote : ZDO_NwkAddrResp_t , ZDO_IeeeAddrResp_t
  • nwkAddrReq : ZDO_ZdpReqFrame_t
  • nwkAddrResp : ZDO_ZdpRespFrame_t
  • nwkManagerAddr : ZDO_MgmtNwkUpdateReq_t
  • nwkUpdateId : ZDO_MgmtNwkUpdateReq_t
  • nwkUpdateInf : ZDO_MgmtNwkUpdateNotf_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- z -

  • ZDO_ResetNetworkConf : ZDO_ResetNetworkReq_t
  • ZDO_SetTxPowerConf : ZDO_SetTxPowerReq_t
  • ZDO_SleepConf : ZDO_SleepReq_t
  • ZDO_StartNetworkConf : ZDO_StartNetworkReq_t
  • ZDO_WakeUpConf : ZDO_WakeUpReq_t
  • ZDO_ZdpResp : ZDO_ZdpReq_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- b -

  • baudrate : HAL_UartDescriptor_t
  • bDescriptorType : HAL_UsbEndPointDescptr_t
  • bEndpointAddress : HAL_UsbEndPointDescptr_t
  • bInterval : HAL_UsbEndPointDescptr_t
  • bLength : HAL_UsbEndPointDescptr_t
  • bmAttributes : HAL_UsbEndPointDescptr_t
  • bufferPointer : HAL_AdcParams_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- c -

  • callback : HAL_AdcParams_t
  • childAddr : ZDO_MgmtNwkUpdateNotf_t
  • childrenAmount : ZDO_GetNeibAmount_t
  • childrenCount : ZDO_GetChildrenAddr_t
  • childrenTable : ZDO_GetChildrenAddr_t
  • clockrate : HAL_i2cMode_t
  • clusterId : APS_DataReq_t , APS_DataInd_t
  • complexDescReq : ZDO_ZdpReqFrame_t
  • complexDescResp : ZDO_ZdpRespFrame_t
  • complexDescriptorAvailable : NodeDescriptor_t
  • CompressedXMLTag : ComplexDescriptorField_t
  • confirm : ZDO_SleepReq_t , APS_RemoveAllGroupsReq_t , APS_DataReq_t , APS_RemoveGroupReq_t , ZDO_WakeUpReq_t , APS_SetReq_t , APS_GetReq_t , APS_AddGroupReq_t , ZDO_SetTxPowerReq_t
  • conflictAddress : ZDO_MgmtNwkUpdateNotf_t
  • confParams : ZDO_ResetNetworkReq_t , ZDO_StartNetworkReq_t
  • currentChannel : NetworkInf_t
  • currentPowerMode : PowerDescriptor_t
  • currentPowerSource : PowerDescriptor_t
  • currentPowerSourceLevel : PowerDescriptor_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- d -

  • data : HAL_EepromParams_t , HAL_I2cParams_t
  • dataLength : HAL_UartDescriptor_t
  • depth : ZDO_MgmtLqiResp_t , ZDO_Neib_t
  • descriptorCapabilityField : NodeDescriptor_t
  • deviceAddr : ZDO_MgmtLeaveReq_t
  • deviceAnnce : ZDO_ZdpReqFrame_t
  • deviceType : ZDO_Neib_t , ZDO_MgmtLqiResp_t
  • devType : MacCapabilityFlags_t
  • dstAddress : APS_DataInd_t , APS_DataReq_t
  • dstAddrMode : APS_DataInd_t , APS_DataReq_t , ZDO_ZdpReq_t
  • dstEndpoint : APS_DataReq_t , APS_DataInd_t
  • dstExtAddr : ZDO_ZdpReq_t
  • dstNwkAddr : ZDO_ZdpReq_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- e -

  • edge : HAL_UartDescriptor_t
  • endpoint : APS_AddGroupReq_t , APS_RemoveAllGroupsReq_t , APS_UnregisterEndpointReq_t , ZdpSimpleDescriptor_t , ZDO_SimpleDescReq_t , APS_RemoveGroupReq_t , SimpleDescriptor_t
  • energyValues : EDScan_t
  • extAddr : ZDO_Neib_t , ZDO_MgmtLqiResp_t , NodeAddr_t
  • extAddress : APS_Address_t
  • extPanId : ZDO_MgmtLqiResp_t , ZDO_Neib_t
  • extPANId : ZDO_StartNetworkConf_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- f -

  • f : HAL_I2cParams_t
  • FieldCount : ComplexDescriptor_t
  • FieldLength : UserDescriptor_t
  • FieldName : UserDescriptor_t
  • flowControl : HAL_UartDescriptor_t
  • fragmentationPermitted : APS_TxOptions_t
  • frequencyBand : NodeDescriptor_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- g -

  • groupAddress : APS_Address_t , APS_RemoveGroupReq_t , APS_AddGroupReq_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- h -

  • header : ZDO_ZdpFrame_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- i -

  • id : HAL_I2cParams_t
  • ieeeAddrLocal : ZDO_DeviceAnnceReq_t
  • ieeeAddrOfInterest : ZDO_NwkAddrReq_t
  • ieeeAddrRemote : ZDO_IeeeAddrResp_t , ZDO_NwkAddrResp_t
  • ieeeAddrReq : ZDO_ZdpReqFrame_t
  • ieeeAddrResp : ZDO_ZdpRespFrame_t
  • internalAddr : HAL_I2cParams_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- p -

  • PANId : ZDO_StartNetworkConf_t
  • panId : NetworkInf_t
  • parentAddr : ZDO_StartNetworkConf_t
  • parentShortAddr : NetworkInf_t
  • parity : HAL_UartDescriptor_t
  • pDataField : ComplexDescriptorField_t
  • permitDuration : ZDO_MgmtPermitJoiningReq_t
  • permitJoining : ZDO_MgmtLqiResp_t , ZDO_Neib_t
  • pFields : ComplexDescriptor_t
  • potentialParent : ZDO_Neib_t
  • powerDescReq : ZDO_ZdpReqFrame_t
  • powerDescResp : ZDO_ZdpRespFrame_t
  • powerDescriptor : ZDO_PowerDescResp_t
  • profileId : APS_DataInd_t , APS_DataReq_t
  • pwrSrc : MacCapabilityFlags_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- r -

  • radius : APS_DataReq_t
  • rejoin : ZDO_MgmtLeaveReq_t
  • relationship : ZDO_MgmtLqiResp_t , ZDO_Neib_t
  • removeChildren : ZDO_MgmtLeaveReq_t
  • req : ZDO_ZdpReq_t
  • reqCluster : ZDO_ZdpReq_t
  • reqPayload : ZDO_ZdpFrame_t
  • reqType : ZDO_NwkAddrReq_t , ZDO_IeeeAddrReq_t
  • Reserved : SimpleDescriptor_t
  • reserved : APS_RegisterEndpointReq_t
  • Reserved : ZdpSimpleDescriptor_t
  • reserved : APS_TxOptions_t , NodeDescriptor_t , ZDO_MgmtLeaveReq_t
  • reserved1 : ZDO_MgmtLqiResp_t
  • reserved2 : ZDO_MgmtLqiResp_t
  • resolution : HAL_AdcParams_t
  • resp : ZDO_ZdpReq_t
  • respPayload : ZDO_ZdpFrame_t , ZDO_ZdpResp_t
  • routersAmount : ZDO_GetNeibAmount_t
  • rssi : ZDO_Neib_t , ZDO_GetLqiRssi_t
  • rsvd : MacCapabilityFlags_t
  • rxBuffer : HAL_UartDescriptor_t
  • rxBufferLength : HAL_UartDescriptor_t
  • rxCallback : HAL_UartDescriptor_t
  • rxOnWhenIdle : MacCapabilityFlags_t , ZDO_Neib_t , ZDO_MgmtLqiResp_t
  • rxTime : APS_DataInd_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- s -

  • sampleRate : HAL_AdcParams_t
  • scanChannels : ZDO_MgmtNwkUpdateReq_t
  • scanCount : ZDO_MgmtNwkUpdateReq_t
  • scanDuration : ZDO_MgmtNwkUpdateReq_t
  • scannedChannels : EDScan_t
  • scannedChannelsListCount : EDScan_t
  • scanResult : ZDO_MgmtNwkUpdateNotf_t
  • secCapb : MacCapabilityFlags_t
  • securityEnabledTransmission : APS_TxOptions_t
  • securityStatus : APS_DataInd_t
  • selectionsAmount : HAL_AdcParams_t
  • seqNum : ZDO_ZdpRespFrame_t , ZDO_ZdpReqFrame_t
  • serverMask : ZDO_SystemServerDiscoveryReq_t , NodeDescriptor_t , ZDO_SystemServerDiscoveryResp_t
  • service : APS_RegisterEndpointReq_t , APS_DataReq_t , ZDO_ZdpReq_t
  • shortAddr : ZDO_StartNetworkConf_t , NodeAddr_t , NetworkInf_t , ZDO_Neib_t
  • shortAddress : APS_Address_t
  • simpleDescReq : ZDO_ZdpReqFrame_t
  • simpleDescResp : ZDO_ZdpRespFrame_t
  • simpleDescriptor : APS_RegisterEndpointReq_t , ZDO_SimpleDescResp_t
  • srcAddress : APS_DataInd_t
  • srcAddrMode : APS_DataInd_t , ZDO_ZdpResp_t
  • srcEndpoint : APS_DataInd_t , APS_DataReq_t
  • srcExtAddr : ZDO_ZdpResp_t
  • srcNwkAddr : ZDO_ZdpResp_t
  • startIndex : ZDO_NwkAddrReq_t , ZDO_IeeeAddrReq_t , ZDO_NwkAddrResp_t , ZDO_IeeeAddrResp_t , ZDO_MgmtLqiResp_t , ZDO_MgmtLqiReq_t
  • status : ZDO_ResetNetworkConf_t , APS_GetConf_t , ZDO_WakeUpConf_t , APS_AddGroupConf_t , APS_DataConf_t , APS_DataInd_t , ZDO_SleepConf_t , APS_RemoveGroupConf_t , ZDO_SetTxPowerConf_t , ZDO_MgmtNwkUpdateNotf_t , ZDO_StartNetworkConf_t , APS_RemoveAllGroupsConf_t , ZDO_ZdpRespFrame_t , APS_SetConf_t
  • stopbits : HAL_UartDescriptor_t
  • syncMode : HAL_UartDescriptor_t
  • systemServerDiscoveryReq : ZDO_ZdpReqFrame_t
  • systemServerDiscoveryResp : ZDO_ZdpRespFrame_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- t -

  • tcSignificance : ZDO_MgmtPermitJoiningReq_t
  • totalTransmissions : EDScan_t
  • transmissionsFailures : EDScan_t
  • tty : HAL_UartDescriptor_t
  • txBuffer : HAL_UartDescriptor_t
  • txBufferLength : HAL_UartDescriptor_t
  • txCallback : HAL_UartDescriptor_t
  • txOptions : APS_DataReq_t
  • txPower : ZDO_SetTxPowerReq_t
  • txTime : APS_DataConf_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- u -

  • useNwkKey : APS_TxOptions_t
  • userDescConfResp : ZDO_ZdpRespFrame_t
  • userDescReq : ZDO_ZdpReqFrame_t
  • userDescResp : ZDO_ZdpRespFrame_t
  • userDescriptor : ZDO_UserDescResp_t , ZDO_UserDescSetReq_t
  • userDescriptorAvailable : NodeDescriptor_t
  • userDescSetReq : ZDO_ZdpReqFrame_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- v -

  • voltageReference : HAL_AdcParams_t


BitCloud Stack Documentation: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • v
  • w
  • z

- w -

  • wMaxPacketSize : HAL_UsbEndPointDescptr_t


BitCloud Stack Documentation: File Index

  • File List
  • Globals

BitCloud Stack Documentation File List

Here is a list of all files with brief descriptions:
adc.h [code] | The header file describes the ADC interface
appFramework.h [code] | The header file describes the types of ZDP and descriptors
appTimer.h [code] | The header file describes the appTimer interface
aps.h [code] | The header file describes the public APS interface and APS types
atomic.h [code] | The header file describes the atomic sections
buttons.h [code] | The header file describes the buttons interface
configServer.h [code] | The header file describes the public ConfigServer interface
eeprom.h [code] | The header file describes the EEPROM interface
i2cPacket.h [code] | The header file describes the i2cPacket interface
irq.h [code] | The header file describes the IRQ interface
leds.h [code] | The header file describes the leds interface
pdsDataServer.h [code] | The header file describes the Persistence Data Server interface
resetReason.h [code] | The header file describes the the reset reason interface
sensors.h [code] | The header file describes the sensors interface
sleepTimer.h [code] | The header file describes the sleepTimer interface
sliders.h [code] | The header file describes the sliders interface
spi.h [code] | The header file describes the USART SPI mode (for avr) and SPI1 bus (for arm), hardware-independent module
taskManager.h [code] | The header file describes the public stack Task Manager interface, task handlers and tasks IDs of Task Manager
uart.h [code] | The header file describes the uart interface
uid.h [code] | The header file describes the UID interface
usb.h [code] | The header file describes the usb interface
w1.h [code] | The header file describes the 1-Wire interface
wdtCtrl.h [code] | The header file describes the WDT interface
zdo.h [code] | The header file describes the public ZDO interface and ZDO types
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: adc.h File Reference

  • File List
  • Globals

adc.h File Reference

The header file describes the ADC interface. More...

#include <types.h>

Go to the source code of this file.

Data Structures

struct | HAL_AdcParams_t
adc structure of parameters More...

Defines

#define | RESOLUTION_8_BIT 0
adc resolution
#define | RESOLUTION_10_BIT 1

Enumerations

enum | HAL_AdcVoltageReference_t { AREF = (0 << 6), AVCC = (1 << 6), INTERNAL_1d1V = (2 << 6), INTERNAL_2d56V = (3 << 6) }
adc sample rate adc voltage reference More...

Functions

int | HAL_OpenAdc (HAL_AdcParams_t *param)
channel number.
Note for avr: If 10x gain is used, 8 bit resolution can be expected.
If 200x gain is used, 7 bit resolution can be expected.
If the user wants to perform a quick polarity check of the result,
it is sufficient to read the MSB of the result. If the bit is one,
the result is negative, and if this bit is zero, the result is positive.
To reach the given accuracy, 10x or 200x Gain should not be used
for operating voltage below 2.7V. Opens the ADC to make the measurement on the ADC channel.
int | HAL_ReadAdc (HAL_AdcChannelNumber_t channel)
Starts ADC with the parameters defined in HAL_OpenAdc.
int | HAL_CloseAdc (void)
Closes the ADC.

Detailed Description

The header file describes the ADC interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file adc.h.

Define Documentation

#define RESOLUTION_8_BIT 0

adc resolution

Definition at line 28 of file adc.h.

#define RESOLUTION_10_BIT 1

Definition at line 29 of file adc.h.

Enumeration Type Documentation

enum HAL_AdcVoltageReference_t

adc sample rate adc voltage reference

Enumerator:
AREF AREF, Internal Vref turned off.
If 10x or 200x gain is selected, only 2.56 V should be used as Internal Voltage Reference.
For differential conversion, only 1.1V cannot be used as internal voltage reference.
AVCC | AVCC with external capacitor at AREF pin.
INTERNAL_1d1V | Internal 1.1V Voltage Reference with external capacitor at AREF pin.
INTERNAL_2d56V | Internal 2.56V Voltage Reference with external capacitor at AREF pin.

Definition at line 62 of file adc.h.

Function Documentation

int HAL_OpenAdc ( HAL_AdcParams_t * param )

channel number.
Note for avr: If 10x gain is used, 8 bit resolution can be expected.
If 200x gain is used, 7 bit resolution can be expected.
If the user wants to perform a quick polarity check of the result,
it is sufficient to read the MSB of the result. If the bit is one,
the result is negative, and if this bit is zero, the result is positive.
To reach the given accuracy, 10x or 200x Gain should not be used
for operating voltage below 2.7V. Opens the ADC to make the measurement on the ADC channel.

Parameters:
[in] param - address of HAL_AdcParams_t structure.
fields of structure set by user:
resolution - conversion resolution. Must be chosen from:
RESOLUTION_8_BIT
RESOLUTION_10_BIT
sampleRate - sample rate. Must be chosen from:
for avr hardware platform
ADC_77KSPS
ADC_39KSPS
ADC_19200SPS
ADC_9600SPS
ADC_4800SPS
for arm hardware platform
ADC_533KSPS
ADC_429KSPS
ADC_369KSPS
ADC_250KSPS
ADC_136KSPS
ADC_68KSPS
ADC_34KSPS
bufferPointer - pointer to the application data buffer.
Buffer cell is one byte for 8-bit resolution.
Buffer cell is two bytes for 10-bit resolution.
selectionsAmount - amount of samples (buffer cells).
callback - pointer to the function that will notify about measurement completion.
Returns:
-1 - unsupported parameter or ADC is busy.
0 - success.

int HAL_ReadAdc ( HAL_AdcChannelNumber_t channel )

Starts ADC with the parameters defined in HAL_OpenAdc.

Parameters:
[in] channel - number of ADC channel. Must be chosen from:
HAL_ADC_CHANNEL0
HAL_ADC_CHANNEL1
HAL_ADC_CHANNEL2
HAL_ADC_CHANNEL3
next four channels only for arm hardware platform
HAL_ADC_CHANNEL4
HAL_ADC_CHANNEL5
HAL_ADC_CHANNEL6
HAL_ADC_CHANNEL7
next eight channels only for avr hardware platform
HAL_ADC_DIFF_CHANNEL0
HAL_ADC_DIFF_CHANNEL1
HAL_ADC_DIFF_CHANNEL2
HAL_ADC_DIFF_CHANNEL3
HAL_ADC_DIFF_CHANNEL4
HAL_ADC_DIFF_CHANNEL5
HAL_ADC_DIFF_CHANNEL6
HAL_ADC_DIFF_CHANNEL7
Returns:
-1 - unable to open ADC (unsupported channel number).
0 - success.

int HAL_CloseAdc ( void )

Closes the ADC.

Returns:
-1 - the module was not open.
0 - success.


BitCloud Stack Documentation: adc.h Source File

  • File List
  • Globals

adc.h

Go to the documentation of this file.
00001 /**************************************************************************/
00018 #ifndef _ADC_H
00019 #define _ADC_H
00020
00021 // \cond
00022 /******************************************************************************
00023                    Includes section
00024 ******************************************************************************/
00025 #include <types.h>
00026 // \endcond
00027
00029 #define RESOLUTION_8_BIT  0
00030 #define RESOLUTION_10_BIT 1
00031
00032 /******************************************************************************
00033                    Types section
00034 ******************************************************************************/
00035 /**************************************************************************/
00038 #if defined(AT91SAM7X256)
00039   typedef enum
00040   {
00041     ADC_533KSPS,
00042     ADC_429KSPS,
00043     ADC_369KSPS,
00044     ADC_250KSPS,
00045     ADC_136KSPS,
00046     ADC_68KSPS,
00047     ADC_34KSPS
00048   } HAL_AdcSampleRate_t;
00049 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00050   typedef enum
00051   {
00052     ADC_77KSPS,
00053     ADC_39KSPS,
00054     ADC_19200SPS,
00055     ADC_9600SPS,
00056     ADC_4800SPS
00057   } HAL_AdcSampleRate_t;
00058 #endif
00059
00060 /**************************************************************************/
00063 typedef enum
00064 {
00068   AREF = (0 << 6),
00070   AVCC = (1 << 6),
00072   INTERNAL_1d1V = (2 << 6),
00074   INTERNAL_2d56V = (3 << 6)
00075 } HAL_AdcVoltageReference_t;
00076
00077 /**************************************************************************/
00080 typedef struct
00081 {
00083   uint8_t resolution;
00085   HAL_AdcSampleRate_t sampleRate;
00087   HAL_AdcVoltageReference_t voltageReference;
00089   void *bufferPointer;
00091   uint16_t selectionsAmount;
00093   void (*callback)();
00094 } HAL_AdcParams_t;
00095
00096 /**************************************************************************/
00107 #if defined(AT91SAM7X256)
00108   typedef enum
00109   {
00110     HAL_ADC_CHANNEL0 = (1 <<  0),
00111     HAL_ADC_CHANNEL1 = (1 <<  1),
00112     HAL_ADC_CHANNEL2 = (1 <<  2),
00113     HAL_ADC_CHANNEL3 = (1 <<  3),
00114     HAL_ADC_CHANNEL4 = (1 <<  4),
00115     HAL_ADC_CHANNEL5 = (1 <<  5),
00116     HAL_ADC_CHANNEL6 = (1 <<  6),
00117     HAL_ADC_CHANNEL7 = (1 <<  7)
00118   } HAL_AdcChannelNumber_t;
00119 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00120   typedef enum
00121   {
00123     HAL_ADC_CHANNEL0 = 0,
00125     HAL_ADC_CHANNEL1 = 1,
00127     HAL_ADC_CHANNEL2 = 2,
00129     HAL_ADC_CHANNEL3 = 3,
00131     HAL_ADC_DIFF_CHANNEL0 = 8,
00133     HAL_ADC_DIFF_CHANNEL1 = 9,
00135     HAL_ADC_DIFF_CHANNEL2 = 10,
00137     HAL_ADC_DIFF_CHANNEL3 = 11,
00139     HAL_ADC_DIFF_CHANNEL4 = 12,
00141     HAL_ADC_DIFF_CHANNEL5 = 13,
00143     HAL_ADC_DIFF_CHANNEL6 = 14,
00145     HAL_ADC_DIFF_CHANNEL7 = 15
00146   } HAL_AdcChannelNumber_t;
00147 #endif
00148
00149 /******************************************************************************
00150                    Prototypes section
00151 ******************************************************************************/
00152 /**************************************************************************/
00184 int HAL_OpenAdc(HAL_AdcParams_t *param);
00185
00186 /**************************************************************************/
00213 int HAL_ReadAdc(HAL_AdcChannelNumber_t channel);
00214
00215 /**************************************************************************/
00222 int HAL_CloseAdc(void);
00223
00224 #endif /* _ADC_H */
00225 // eof adc.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: appFramework.h File Reference

  • File List
  • Globals

appFramework.h File Reference

The header file describes the types of ZDP and descriptors. More...

#include <types.h>
#include <macAddr.h>

Go to the source code of this file.

Data Structures

struct | MacCapabilityFlags_t
MAC capability flags. More...
struct | NodeDescriptor_t
Node descriptor. More...
struct | PowerDescriptor_t
Power descriptor. More...
struct | SimpleDescriptor_t
Simple Descriptor. More...
struct | UserDescriptor_t
User descriptor. More...
struct | ComplexDescriptorField_t
Complex Descriptor field. More...
struct | ComplexDescriptor_t
Complex Descriptor. More...

Defines

#define | ZDP_USER_DESC_FIELD_SIZE 16

Typedefs

typedef uint8_t | Endpoint_t
typedef uint16_t | ProfileId_t
typedef uint16_t | ClusterId_t
typedef uint16_t | GroupAddr_t

Enumerations

enum | DeviceType_t { DEVICE_TYPE_COORDINATOR = 0x00, DEVICE_TYPE_ROUTER = 0x01, DEVICE_TYPE_END_DEVICE = 0x02 }
enum | { FREQUENCY_BAND_868 = 0x01, FREQUENCY_BAND_902 = 0x04, FREQUENCY_BAND_2400 = 0x08 }
enum {
MAC_CAP_ALTERNATE_PAN_COORDINATOR = 0x01, MAC_CAP_DEVICE_TYPE_FFD = 0x02, MAC_CAP_POWER_SOURCE_MAINS = 0x04, MAC_CAP_RX_ON_WHEN_IDLE = 0x08,
MAC_CAP_SECURITY_CAPABLE = 0x40, MAC_CAP_ALLOCATE_ADDRESS = 0x80
}
enum {
SERVER_MASK_NO_SERVER = 0x0000, SERVER_MASK_PRIMARY_TRUST_CENTER = 0x0001, SERVER_MASK_BACKUP_TRUST_CENTER = 0x0002, SERVER_MASK_PRIMARY_BINDING_TABLE_CACHE = 0x0004,
SERVER_MASK_BACKUP_BINDING_TABLE_CACHE = 0x0008, SERVER_MASK_PRIMARY_DISCOVERY_CACHE = 0x0010, SERVER_MASK_BACKUP_DISCOVERY_CACHE = 0x0020, SERVER_MASK_NETWORK_MANAGER = 0x0040
}
enum | { EXT_LIST_ACTIVE_EP = 0x01, EXT_LIST_SIMPLE_DESC = 0x02 }
enum | PowerMode_t { RECEIVER_SYNCRONIZED_WHEN_ON_IDLE = 0, RECEIVER_COMES_PERIODICALLY = 1, RECEIVER_COMES_WHEN_STIMULATED = 2 }
enum | PowerSource_t { MAINS_POWER = 0x1, RECHARGEABLE_BATTERY = 0x2, DISPOSABLE_BATTERY = 0x4 }
enum | PowerSourceLevel_t { CRITICAL_0 = 0, PERCENT_33 = 4, PERCENT_66 = 8, PERCENT_100 = 0xC }
enum {
TAG_LANGUAGE_AND_CHARACTER_SET = 0001, TAG_MANUFACTURER_NAME = 0010, TAG_MODEL_NAME = 0011, TAG_SERIAL_NUMBER = 0100,
TAG_DEVICE_URL = 0101, TAG_ICON = 0110, TAG_ICON_URL = 0111
}

Detailed Description

The header file describes the types of ZDP and descriptors.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file appFramework.h.

Define Documentation

#define ZDP_USER_DESC_FIELD_SIZE 16

Definition at line 25 of file appFramework.h.

Typedef Documentation

typedef uint8_t Endpoint_t

Definition at line 30 of file appFramework.h.

typedef uint16_t ProfileId_t

Definition at line 31 of file appFramework.h.

typedef uint16_t ClusterId_t

Definition at line 32 of file appFramework.h.

typedef uint16_t GroupAddr_t

Definition at line 33 of file appFramework.h.

Enumeration Type Documentation

enum DeviceType_t

Intended for specifying device role.

Enumerator:
DEVICE_TYPE_COORDINATOR
DEVICE_TYPE_ROUTER
DEVICE_TYPE_END_DEVICE

Definition at line 127 of file appFramework.h.

anonymous enum

Intended for specifying NodeDescriptor_t::frequencyBand field.

Enumerator:
FREQUENCY_BAND_868
FREQUENCY_BAND_902
FREQUENCY_BAND_2400

Definition at line 135 of file appFramework.h.

anonymous enum

Intended for specifying NodeDescriptor_t::macCapbFlags field.

Enumerator:
MAC_CAP_ALTERNATE_PAN_COORDINATOR
MAC_CAP_DEVICE_TYPE_FFD
MAC_CAP_POWER_SOURCE_MAINS
MAC_CAP_RX_ON_WHEN_IDLE
MAC_CAP_SECURITY_CAPABLE
MAC_CAP_ALLOCATE_ADDRESS

Definition at line 143 of file appFramework.h.

anonymous enum

Intended for specifying NodeDescriptor_t::serverMask field.

Enumerator:
SERVER_MASK_NO_SERVER
SERVER_MASK_PRIMARY_TRUST_CENTER
SERVER_MASK_BACKUP_TRUST_CENTER
SERVER_MASK_PRIMARY_BINDING_TABLE_CACHE
SERVER_MASK_BACKUP_BINDING_TABLE_CACHE
SERVER_MASK_PRIMARY_DISCOVERY_CACHE
SERVER_MASK_BACKUP_DISCOVERY_CACHE
SERVER_MASK_NETWORK_MANAGER

Definition at line 154 of file appFramework.h.

anonymous enum

Intended for specifying NodeDescriptor_t::descriptorCapabilityField field.

Enumerator:
EXT_LIST_ACTIVE_EP
EXT_LIST_SIMPLE_DESC

Definition at line 167 of file appFramework.h.

enum PowerMode_t

Intended for specifying PowerDescriptor_t::currentPowerMode field.

Enumerator:
RECEIVER_SYNCRONIZED_WHEN_ON_IDLE
RECEIVER_COMES_PERIODICALLY
RECEIVER_COMES_WHEN_STIMULATED

Definition at line 206 of file appFramework.h.

enum PowerSource_t

Intended for specifying PowerDescriptor_t::availablePowerSources and PowerDescriptor_t::currentPowerSource fields.

Enumerator:
MAINS_POWER
RECHARGEABLE_BATTERY
DISPOSABLE_BATTERY

Definition at line 216 of file appFramework.h.

enum PowerSourceLevel_t

Intended for specifying PowerDescriptor_t::currentPowerSourceLevel field.

Enumerator:
CRITICAL_0
PERCENT_33
PERCENT_66
PERCENT_100

Definition at line 225 of file appFramework.h.

anonymous enum

Intended for specifying ComplexDescriptorField_t::CompressedXMLTag field.

Enumerator:
TAG_LANGUAGE_AND_CHARACTER_SET
TAG_MANUFACTURER_NAME
TAG_MODEL_NAME
TAG_SERIAL_NUMBER
TAG_DEVICE_URL
TAG_ICON
TAG_ICON_URL

Definition at line 273 of file appFramework.h.


BitCloud Stack Documentation: appFramework.h Source File

  • File List
  • Globals

appFramework.h

Go to the documentation of this file.
00001 /***********************************************************************/
00016 /******************************************************************************
00017 *       The header file contains ZIGBEE type definitions                     */
00018
00019 #ifndef _APPFRAMEWORK_H
00020 #define _APPFRAMEWORK_H
00021
00022 #include <types.h>
00023 #include <macAddr.h>
00024
00025 #define ZDP_USER_DESC_FIELD_SIZE  16
00026
00027 /********************************************************************************
00028 * Base types
00029 ********************************************************************************/
00030 typedef uint8_t  Endpoint_t;
00031 typedef uint16_t ProfileId_t;
00032 typedef uint16_t ClusterId_t;
00033 typedef uint16_t GroupAddr_t;
00034
00035
00036 /********************************************************************************
00037 * Zigbee APFW types definition
00038 ********************************************************************************/
00039
00041 typedef struct {
00043     uint8_t     altPANcoord : 1;
00046     uint8_t     devType : 1;
00049     uint8_t     pwrSrc : 1;
00051     uint8_t     rxOnWhenIdle :1;
00053     uint8_t     rsvd : 2;
00055     uint8_t     secCapb : 1;
00057     uint8_t     allocAddr : 1;
00058 } MacCapabilityFlags_t;
00059
00061
00062 typedef struct
00063 {
00069   uint8_t   logicalType : 3;
00071   uint8_t   complexDescriptorAvailable: 1;
00073   uint8_t   userDescriptorAvailable: 1;
00075   uint8_t   reserved: 3;
00077   uint8_t   apsFlags : 3;
00084   uint8_t   frequencyBand : 5;
00093   uint8_t   macCapbFlags;
00095   uint16_t  manufacturerCode;
00098   uint8_t   maxBufferSize;
00103   uint16_t  maxTransferSize;
00114   uint16_t  serverMask;
00118   uint16_t  maxOutcTransferSize;
00123   uint8_t   descriptorCapabilityField;
00124 } NodeDescriptor_t;
00125
00127 typedef enum
00128 {
00129   DEVICE_TYPE_COORDINATOR = 0x00,
00130   DEVICE_TYPE_ROUTER      = 0x01,
00131   DEVICE_TYPE_END_DEVICE  = 0x02
00132 } DeviceType_t;
00133
00135 enum
00136 {
00137   FREQUENCY_BAND_868 = 0x01,
00138   FREQUENCY_BAND_902 = 0x04,
00139   FREQUENCY_BAND_2400 = 0x08,
00140 };
00141
00143 enum
00144 {
00145   MAC_CAP_ALTERNATE_PAN_COORDINATOR = 0x01,
00146   MAC_CAP_DEVICE_TYPE_FFD = 0x02,
00147   MAC_CAP_POWER_SOURCE_MAINS = 0x04,
00148   MAC_CAP_RX_ON_WHEN_IDLE = 0x08,
00149   MAC_CAP_SECURITY_CAPABLE = 0x40,
00150   MAC_CAP_ALLOCATE_ADDRESS = 0x80 // always set for rev13
00151 };
00152
00154 enum
00155 {
00156   SERVER_MASK_NO_SERVER = 0x0000,
00157   SERVER_MASK_PRIMARY_TRUST_CENTER = 0x0001,
00158   SERVER_MASK_BACKUP_TRUST_CENTER = 0x0002,
00159   SERVER_MASK_PRIMARY_BINDING_TABLE_CACHE = 0x0004,
00160   SERVER_MASK_BACKUP_BINDING_TABLE_CACHE = 0x0008,
00161   SERVER_MASK_PRIMARY_DISCOVERY_CACHE = 0x0010,
00162   SERVER_MASK_BACKUP_DISCOVERY_CACHE = 0x0020,
00163   SERVER_MASK_NETWORK_MANAGER = 0x0040
00164 };
00165
00167 enum
00168 {
00169   EXT_LIST_ACTIVE_EP = 0x01,
00170   EXT_LIST_SIMPLE_DESC = 0x02
00171 };
00172
00174
00175 typedef struct
00176 {
00182   uint8_t currentPowerMode : 4;
00188   uint8_t availablePowerSources : 4;
00194   uint8_t currentPowerSource : 4;
00201   uint8_t currentPowerSourceLevel : 4;
00202 } PowerDescriptor_t;
00203
00204
00206 typedef enum
00207 {
00208   RECEIVER_SYNCRONIZED_WHEN_ON_IDLE = 0,
00209   RECEIVER_COMES_PERIODICALLY = 1,
00210   RECEIVER_COMES_WHEN_STIMULATED = 2
00211   //RESERVED = 0xF /* all other values */
00212 } PowerMode_t;
00213
00216 typedef enum
00217 {
00218   MAINS_POWER = 0x1,
00219   RECHARGEABLE_BATTERY = 0x2,
00220   DISPOSABLE_BATTERY = 0x4,
00221   //RESERVED
00222 } PowerSource_t;
00223
00225 typedef enum
00226 {
00227   CRITICAL_0 = 0,
00228   PERCENT_33 = 4,
00229   PERCENT_66 = 8,
00230   PERCENT_100 = 0xC
00231   //RESERVED = 0xFF;  /* all over values */
00232 } PowerSourceLevel_t;
00233
00234
00236
00237 typedef struct
00238 {
00241   Endpoint_t   endpoint;
00243   ProfileId_t  AppProfileId;
00245   uint16_t     AppDeviceId;
00247   uint8_t      AppDeviceVersion : 4;
00249   uint8_t      Reserved         : 4;
00252   uint8_t      AppInClustersCount;
00254   ClusterId_t* AppInClustersList;
00257   uint8_t      AppOutClustersCount;
00259   ClusterId_t* AppOutClustersList;
00260 } SimpleDescriptor_t;
00261
00263
00264 typedef struct
00265 {
00266   uint8_t FieldLength;
00268   uint8_t FieldName[ZDP_USER_DESC_FIELD_SIZE];
00269 } UserDescriptor_t;
00270
00271
00273 enum
00274 {
00275   TAG_LANGUAGE_AND_CHARACTER_SET = 0001,
00276   TAG_MANUFACTURER_NAME = 0010,
00277   TAG_MODEL_NAME = 0011,
00278   TAG_SERIAL_NUMBER = 0100,
00279   TAG_DEVICE_URL = 0101,
00280   TAG_ICON = 0110,
00281   TAG_ICON_URL = 0111,
00282 };
00283
00284
00286 typedef struct
00287 {
00299   uint8_t CompressedXMLTag;
00301   uint8_t* pDataField;
00302 } ComplexDescriptorField_t;
00303
00304
00306
00309 typedef struct
00310 {
00312   uint8_t FieldCount;
00314   ComplexDescriptorField_t* pFields;
00315 } ComplexDescriptor_t;
00316
00317 #endif  /* _APPFRAMEWORK_H */
00318


BitCloud Stack Documentation: appTimer.h File Reference

  • File List
  • Globals

appTimer.h File Reference

The header file describes the appTimer interface. More...

#include <types.h>
#include <mnHalTimer.h>
#include <halAppClock.h>

Go to the source code of this file.

Typedefs

typedef Timer_t | HAL_AppTimer_t
fields of structure:
uint32_t interval - timer firing interval. Interval must be more than 10 ms (set by user)
TimerMode_t mode - timer work mode (set by user). Must be chosen from:
TIMER_REPEAT_MODE
TIMER_ONE_SHOT_MODE
void (*callback)() - pointer to timer callback function (set by user).

Functions

int | HAL_StartAppTimer (HAL_AppTimer_t *appTimer)
Starts to count an interval (starts user timer).
int | HAL_StopAppTimer (HAL_AppTimer_t *appTimer)
Stops the user timer.
INLINE uint32_t | HAL_GetSystemTime (void)
Gets system time.

Detailed Description

The header file describes the appTimer interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file appTimer.h.

Typedef Documentation

typedef Timer_t HAL_AppTimer_t

fields of structure:
uint32_t interval - timer firing interval. Interval must be more than 10 ms (set by user)
TimerMode_t mode - timer work mode (set by user). Must be chosen from:
TIMER_REPEAT_MODE
TIMER_ONE_SHOT_MODE
void (*callback)() - pointer to timer callback function (set by user).

Definition at line 38 of file appTimer.h.

Function Documentation

int HAL_StartAppTimer ( HAL_AppTimer_t * appTimer )

Starts to count an interval (starts user timer).

Parameters:
[in] appTimer - pointer to the timer structure (HAL_AppTimer_t is typedef Timer_t)
Returns:
-1 - pointer is NULL 0 - success

int HAL_StopAppTimer ( HAL_AppTimer_t * appTimer )

Stops the user timer.

Parameters:
[in] appTimer - pointer to the timer structure.
Returns:
-1 - there is no appTimer started or pointer is NULL 0 - success

INLINE uint32_t HAL_GetSystemTime ( void )

Gets system time.

Returns:
time since power up in milliseconds.

Definition at line 82 of file appTimer.h.


BitCloud Stack Documentation: appTimer.h Source File

  • File List
  • Globals

appTimer.h

Go to the documentation of this file.
00001 /****************************************************************************/
00018 #ifndef _APPTIMER_H
00019 #define _APPTIMER_H
00020
00021 // \cond
00022 /******************************************************************************
00023                    Includes section
00024 ******************************************************************************/
00025 #include <types.h>
00026 #include <mnHalTimer.h>
00027 #include <halAppClock.h>
00028 // \endcond
00029
00030 /******************************************************************************
00031                    Types section
00032 ******************************************************************************/
00039 typedef Timer_t HAL_AppTimer_t;
00040
00041 // \cond
00042 /******************************************************************************
00043                    External variables section
00044 ******************************************************************************/
00045 extern volatile uint32_t halSystemTime;
00046 // \endcond
00047
00048 /******************************************************************************
00049                    Prototypes section
00050 ******************************************************************************/
00051 /**************************************************************************/
00061 int HAL_StartAppTimer(HAL_AppTimer_t *appTimer);
00062
00063 /**************************************************************************/
00073 int HAL_StopAppTimer(HAL_AppTimer_t *appTimer);
00074
00075 /******************************************************************************
00076                    Inline static functions section
00077 ******************************************************************************/
00078 /**************************************************************************/
00084 INLINE uint32_t HAL_GetSystemTime(void)
00085 {
00086   return halSystemTime;
00087 }
00088
00089 #endif /*_APPTIMER_H*/
00090 //eof appTimer.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: aps.h File Reference

  • File List
  • Globals

aps.h File Reference

The header file describes the public APS interface and APS types. More...

#include <types.h>
#include <nwk.h>
#include <appFramework.h>
#include <macAddr.h>

Go to the source code of this file.

Data Structures

struct | APS_Address_t
Common APS Address type. More...
struct | APS_AibPermissionsConfiguration_t
APS SubLayer Constants. More...
union | APS_AibAttribute_t
Types of parameters which can be set to the APS AIB. More...
struct | APS_DataConf_t
Parameters structure of the APS_DataReq_t::APS_DataConf() function. The APSDE-DATA.confirm primitive. More...
struct | APS_TxOptions_t
Describes the options of data transmission. More...
struct | APS_DataReq_t
Parameters structure of the APS_DataReq() function. The APSDE-DATA.request primitive. More...
struct | APS_DataInd_t
Parameters structure of the APS_RegisterEndpointReq_t::APS_DataInd() function The function is determined by certain End Point. The APSDE-DATA.indication primitive. More...
struct | APS_GetConf_t
Parameters structure of the APS_GetConf() function. The APSME-GET.confirm primitive. More...
struct | APS_GetReq_t
Parameters structure of the APS_GetReq() function. The APSME-GET.request primitive. More...
struct | APS_SetConf_t
Parameters structure of the APS_SetConf() function The APSME-SET.confirm primitive. More...
struct | APS_SetReq_t
Parameters structure of the APS_SetReq() function The APSME-SET.request primitive. More...
struct | APS_AddGroupConf_t
Parameters structure of the APS_AddGroupConf() function. The APSME-ADD-GROUP.confirm primitive. More...
struct | APS_AddGroupReq_t
Parameters structure of the APS_AddGroupReq() function. The APSME-ADD-GROUP.request primitive. More...
struct | APS_RemoveGroupConf_t
Parameters structure of the APS_RemoveGroupConf() function. The APSME-REMOVE-GROUP.confirm primitive. More...
struct | APS_RemoveGroupReq_t
Parameters structure of the APS_RemoveGroupReq() function. The APSME-REMOVE-GROUP.request primitive. More...
struct | APS_RemoveAllGroupsConf_t
Parameters structure of the APS_RemoveAllGroupsConf() function. The APSME-REMOVE-ALL-GROUPS.confirm primitive. More...
struct | APS_RemoveAllGroupsReq_t
Parameters structure of the APS_RemoveAllGroupsReq() function. The APSME-REMOVE-ALL-GROUPS.request primitive. More...
struct | APS_RegisterEndpointReq_t
Parameters structure of the APS_RegisterEndpointReq() function. APSME-REGISTER-ENDPOINT.request primitive. More...
struct | APS_UnregisterEndpointReq_t
Parameters structure of the APS_UnregisterEndpointReq() function. APSME-UNREGISTER-ENDPOINT.request primitive. More...

Defines

#define | APS_MAX_DATA_FRAME_HEADER_LENGTH 12
Max APS header size.
#define | APS_MAX_DATA_FRAME_FOOTER_LENGTH 0
Max APS footer size.
#define | APS_MAX_ASDU_SIZE (NWK_MAX_NSDU_SIZE - APS_MAX_DATA_FRAME_HEADER_LENGTH - APS_MAX_DATA_FRAME_FOOTER_LENGTH)
Max size of APS payload.
#define | APS_ASDU_OFFSET (NWK_NSDU_OFFSET + APS_MAX_DATA_FRAME_HEADER_LENGTH)
Size of the reserved header in the data frame.
#define | APS_AFFIX_LENGTH (APS_MAX_DATA_FRAME_HEADER_LENGTH + APS_MAX_DATA_FRAME_FOOTER_LENGTH + NWK_AFFIX_LENGTH)
Size of the reserved part in the data frame.
#define | APS_BROADCAST_ENDPOINT 0xff
APS Broadcast Endpoint.
#define | APS_MIN_USER_ENDPOINT 0x01
Min user endpoint number.
#define | APS_MAX_USER_ENDPOINT 0xf0
Max user endpoint number.

Enumerations

enum | APS_AddrMode_t { APS_NO_ADDRESS = 0x00, APS_GROUP_ADDRESS = 0x01, APS_SHORT_ADDRESS = 0x02, APS_EXT_ADDRESS = 0x03 }
APS addressing modes. More...
enum APS_Status_t {
APS_SUCCESS_STATUS = 0x00, APS_ASDU_TOO_LONG_STATUS = 0xa0, APS_DEFRAG_DEFERRED_STATUS = 0xa1, APS_DEFRAG_UNSUPPORTED_STATUS = 0xa2,
APS_ILLEGAL_REQUEST_STATUS = 0xa3, APS_INVALID_BINDING_STATUS = 0xa4, APS_INVALID_GROUP_STATUS = 0xa5, APS_INVALID_PARAMETER_STATUS = 0xa6,
APS_NO_ACK_STATUS = 0xa7, APS_NO_BOUND_DEVICE_STATUS = 0xa8, APS_NO_SHORT_ADDRESS_STATUS = 0xa9, APS_NOT_SUPPORTED_STATUS = 0xaa,
APS_SECURED_LINK_KEY_STATUS = 0xab, APS_SECURED_NWK_KEY_STATUS = 0xac, APS_SECURITY_FAIL_STATUS = 0xad, APS_TABLE_FULL_STATUS = 0xae,
APS_UNSECURED_STATUS = 0xaf, APS_UNSUPPORTED_ATTRIBUTE_STATUS = 0xb0, APS_NOT_INDICATED_STATUS = 0xb1
}
APS status values. More...
enum APS_SkkeStatus_t {
APS_SKKE_SUCCESS_STATUS = 0x00, APS_SKKE_INVALID_PARAMETER_STATUS = 0x01, APS_SKKE_NO_MASTER_KEY_STATUS = 0x02, APS_SKKE_INVALID_CHALLENGE_STATUS = 0x03,
APS_SKKE_INVALID_SKG_STATUS = 0x04, APS_SKKE_INVALID_MAC_STATUS = 0x05, APS_SKKE_INVALID_KEY_STATUS = 0x06, APS_SKKE_TIMEOUT_STATUS = 0x07,
APS_SKKE_BAD_FRAME_STATUS = 0x08
}
APS SKKE status values. More...
enum APS_AibAttributeId_t {
APS_AIB_BINDING_TABLE = 0xc1, APS_AIB_DESIGNATED_COORDINATOR = 0xc2, APS_AIB_CHANNEL_MASK = 0xc3, APS_AIB_USE_EXTENDED_PANID = 0xc4,
APS_AIB_GROUP_TABLE = 0xc5, APS_AIB_NONMEMBER_RADIUS = 0xc6, APS_AIB_PERMISSIONS_CONFIGURATION = 0xc7, APS_AIB_USE_INSECURE_JOIN = 0xc8,
APS_AIB_INTERFRAME_DELAY = 0xc9, APS_AIB_DEVICE_KEY_PAIR_SET = 0xaa, APS_AIB_TRUST_CENTER_ADDRESS = 0xab, APS_AIB_SECURITY_TIME_OUT_PERIOD = 0xac
}
APS Information base attributes IDs. More...

Functions

void | APS_GetReq (APS_GetReq_t *req)
Gets a parameter from AIB.
void | APS_SetReq (APS_SetReq_t *req)
Sets a parameter to AIB.
void | APS_RegisterEndpointReq (APS_RegisterEndpointReq_t *req)
Registers endpoint to APS.
void | APS_UnregisterEndpointReq (APS_UnregisterEndpointReq_t *req)
Unregisters endPoint from APS.
APS_RegisterEndpointReq_t * | APS_GetEndpointList (void)
Returns the pointer to APS EndPointList.
void | APS_StopEndpointIndication (Endpoint_t endpoint)
Stops APS Data indications of specific endpoint number.
void | APS_ResumeEndpointIndication (Endpoint_t endpoint)
Resumes APS Data indications of specific endpoint number.
void | APS_DataReq (APS_DataReq_t *req)
Sends data to a node of a network.
void | APS_AddGroupReq (APS_AddGroupReq_t *req)
Adds a group to APS.
void | APS_RemoveGroupReq (APS_RemoveGroupReq_t *req)
Removes a group from APS.
void | APS_RemoveAllGroupsReq (APS_RemoveAllGroupsReq_t *req)
Removes all groups from APS.
void | APS_CalculateTimes (void)

Detailed Description

The header file describes the public APS interface and APS types.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file aps.h.

Define Documentation

#define APS_MAX_DATA_FRAME_HEADER_LENGTH 12

Max APS header size.

Definition at line 50 of file aps.h.

#define APS_MAX_DATA_FRAME_FOOTER_LENGTH 0

Max APS footer size.

Definition at line 55 of file aps.h.

#define APS_MAX_ASDU_SIZE (NWK_MAX_NSDU_SIZE - APS_MAX_DATA_FRAME_HEADER_LENGTH - APS_MAX_DATA_FRAME_FOOTER_LENGTH)

Max size of APS payload.

Definition at line 71 of file aps.h.

#define APS_ASDU_OFFSET (NWK_NSDU_OFFSET + APS_MAX_DATA_FRAME_HEADER_LENGTH)

Size of the reserved header in the data frame.

Definition at line 76 of file aps.h.

#define APS_AFFIX_LENGTH (APS_MAX_DATA_FRAME_HEADER_LENGTH + APS_MAX_DATA_FRAME_FOOTER_LENGTH + NWK_AFFIX_LENGTH)

Size of the reserved part in the data frame.

Definition at line 81 of file aps.h.

#define APS_BROADCAST_ENDPOINT 0xff

APS Broadcast Endpoint.

Definition at line 86 of file aps.h.

#define APS_MIN_USER_ENDPOINT 0x01

Min user endpoint number.

Definition at line 91 of file aps.h.

#define APS_MAX_USER_ENDPOINT 0xf0

Max user endpoint number.

Definition at line 96 of file aps.h.

Enumeration Type Documentation

enum APS_AddrMode_t

APS addressing modes.

Address mode is used in some of APS primitives

Defines APS addressing modes used in some standard primitives

Enumerator:
APS_NO_ADDRESS | Indirect addressing mode via binding future.
APS_GROUP_ADDRESS | Group addressing mode via multicast.
APS_SHORT_ADDRESS | Unicast addressing mode by 16-bit network address.
APS_EXT_ADDRESS | Unicast addressing mode by 64-bit IEEE address.

Definition at line 145 of file aps.h.

enum APS_Status_t

APS status values.

Status values in some of the APS primitives

APS status values used in the most part of standard primives except for the security service primitives where APS_SecurityStatus_t is used instead

Enumerator:
APS_SUCCESS_STATUS | SUCCESS.
APS_ASDU_TOO_LONG_STATUS | ASDU_TOO_LONG.
APS_DEFRAG_DEFERRED_STATUS | DEFRAG_DEFERRED.
APS_DEFRAG_UNSUPPORTED_STATUS | DEFRAG_UNSUPPORTED.
APS_ILLEGAL_REQUEST_STATUS | ILLEGAL_REQUEST.
APS_INVALID_BINDING_STATUS | INVALID_BINDING.
APS_INVALID_GROUP_STATUS | INVALID_GROUP.
APS_INVALID_PARAMETER_STATUS | INVALID_PARAMETER.
APS_NO_ACK_STATUS | NO_ACK.
APS_NO_BOUND_DEVICE_STATUS | NO_BOUND_DEVICE.
APS_NO_SHORT_ADDRESS_STATUS | NO_SHORT_ADDRESS.
APS_NOT_SUPPORTED_STATUS | NOT_SUPPORTED.
APS_SECURED_LINK_KEY_STATUS | SECURED_LINK_KEY.
APS_SECURED_NWK_KEY_STATUS | SECURED_NWK_KEY.
APS_SECURITY_FAIL_STATUS | SECURITY_FAIL.
APS_TABLE_FULL_STATUS | TABLE_FULL.
APS_UNSECURED_STATUS | UNSECURED.
APS_UNSUPPORTED_ATTRIBUTE_STATUS | UNSUPPORTED_ATTRIBUTE.
APS_NOT_INDICATED_STATUS | NOT_INDICATED (nonstandard status value).

Definition at line 164 of file aps.h.

enum APS_SkkeStatus_t

APS SKKE status values.

Status values as result of SKKE protocol (APS Security)

APS SKKE status values used in APS Key Establishment mechanism

Enumerator:
APS_SKKE_SUCCESS_STATUS | SUCCESS.
APS_SKKE_INVALID_PARAMETER_STATUS | INVALID_PARAMETER.
APS_SKKE_NO_MASTER_KEY_STATUS | NO_MASTER_KEY.
APS_SKKE_INVALID_CHALLENGE_STATUS | INVALID_CHALLENGE.
APS_SKKE_INVALID_SKG_STATUS | INVALID_SKG.
APS_SKKE_INVALID_MAC_STATUS | INVALID_MAC.
APS_SKKE_INVALID_KEY_STATUS | INVALID_KEY.
APS_SKKE_TIMEOUT_STATUS | TIMEOUT.
APS_SKKE_BAD_FRAME_STATUS | BAD_FRAME.

Definition at line 199 of file aps.h.

enum APS_AibAttributeId_t

APS Information base attributes IDs.

AIB Attribute's ID definition

APS Information base attribute IDs used for AIB management with standard AIB maintenance primitives

Enumerator:
APS_AIB_BINDING_TABLE | apsBindingTable
APS_AIB_DESIGNATED_COORDINATOR | apsDesignatedCoordinator
APS_AIB_CHANNEL_MASK | apsChannelMask
APS_AIB_USE_EXTENDED_PANID | apsUseExtendedPANID
APS_AIB_GROUP_TABLE | apsGroupTable
APS_AIB_NONMEMBER_RADIUS | apsNonmemberRadius
APS_AIB_PERMISSIONS_CONFIGURATION | apsPermissionsConfiguration
APS_AIB_USE_INSECURE_JOIN | apsUseInsecureJoin
APS_AIB_INTERFRAME_DELAY | apsInterframeDelay
APS_AIB_DEVICE_KEY_PAIR_SET | apsDeviceKeyPairSet
APS_AIB_TRUST_CENTER_ADDRESS | apsTrustCenterAddress
APS_AIB_SECURITY_TIME_OUT_PERIOD | apsSecurityTimeOutPeriod

Definition at line 222 of file aps.h.

Function Documentation

void APS_GetReq ( APS_GetReq_t * req )

Gets a parameter from AIB.

Parameters:
[in] req The APSME-GET.request (APS_GetReq_t) primitive pointer.
Returns:
None.

void APS_SetReq ( APS_SetReq_t * req )

Sets a parameter to AIB.

Function returns the result of transaction via callback call with confirm (APS_SetConf_t) primitive pointer as parameter

Parameters:
[in] req The APSME-SET.request (APS_SetReq_t) primitive pointer.
Returns:
None.

void APS_RegisterEndpointReq ( APS_RegisterEndpointReq_t * req )

Registers endpoint to APS.

Parameters:
[in] req The register endpoint primitive pointer.
Returns:
None.

void APS_UnregisterEndpointReq ( APS_UnregisterEndpointReq_t * req )

Unregisters endPoint from APS.

Parameters:
[in] req The unregister endpoint primitive pointer.
Returns:
None.

APS_RegisterEndpointReq_t* APS_GetEndpointList ( void )

Returns the pointer to APS EndPointList.

Returns:
Valid APS EndpointList pointer or NULL if there are no registered endpoints.

void APS_StopEndpointIndication ( Endpoint_t endpoint )

Stops APS Data indications of specific endpoint number.

Parameters:
[in] endpoint The registered endpoint number. The 0xff special value means all registered endpoints.
Returns:
None.

void APS_ResumeEndpointIndication ( Endpoint_t endpoint )

Resumes APS Data indications of specific endpoint number.

Parameters:
[in] endpoint The registered endpoint number. The 0xff special value means all registered endpoints.
Returns:
None.

void APS_DataReq ( APS_DataReq_t * req )

Sends data to a node of a network.

Unicast, broadcast, or multicast data can be sent by this function. Function returns the result of transaction via callback call with confirm (APS_DataConf_t) primitive pointer as parameter.

Parameters:
[in] req The APSDE-DATA.request (APS_DataReq_t) primitive pointer.
Returns:
None.

void APS_AddGroupReq ( APS_AddGroupReq_t * req )

Adds a group to APS.

This function adds the current device to the members of certain group. Function returns the result of transaction via callback call with confirm (APS_AddGroupConf_t) primitive pointer as parameter.

Parameters:
[in] req The APSME-ADD-GROUP.request (APS_AddGroupReq_t) primitive pointer.
Returns:
None.

void APS_RemoveGroupReq ( APS_RemoveGroupReq_t * req )

Removes a group from APS.

This function removes the current device from the members of certain group. Function returns the result of transaction via callback call with confirm (APS_RemoveGroupConf_t) primitive pointer as parameter.

Parameters:
[in] req The APSME-REMOVE-GROUP.request (APS_RemoveGroupReq_t) primitive pointer.
Returns:
None.

void APS_RemoveAllGroupsReq ( APS_RemoveAllGroupsReq_t * req )

Removes all groups from APS.

This function removes the current device from members of all groups. Function returns the result of transaction via callback call with confirm (APS_RemoveAllGroupsConf_t) primitive pointer as parameter.

Parameters:
[in] req The APSME-REMOVE-ALL-GROUPS.request (APS_RemoveAllGroupsReq_t) primitive pointer.
Returns:
None.

void APS_CalculateTimes ( void )


BitCloud Stack Documentation: aps.h Source File

  • File List
  • Globals

aps.h

Go to the documentation of this file.
00001 /*************************************************************************/
00018 #ifndef _APS_H
00019 #define _APS_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 #include <types.h>
00025 #include <nwk.h>
00026 #include <appFramework.h>
00027 #include <macAddr.h>
00028
00029
00030 /******************************************************************************
00031                    Define(s) section
00032 ******************************************************************************/
00033
00034 // \cond internal
00035 #ifndef APS_MAX_TRANSMISSION_WINDOW_SIZE
00036 #define APS_MAX_TRANSMISSION_WINDOW_SIZE        3
00037 #endif
00038 // \endcond
00039
00040 // \cond internal
00041 #ifndef APS_MAX_BLOCKS_AMOUNT
00042 #define APS_MAX_BLOCKS_AMOUNT                   3
00043 #endif
00044 // \endcond
00045
00046 #ifndef _HIGH_SECURITY_
00047 /*************************************************************************/
00050 #define APS_MAX_DATA_FRAME_HEADER_LENGTH  12
00051
00052 /*************************************************************************/
00055 #define APS_MAX_DATA_FRAME_FOOTER_LENGTH  0
00056 #else
00057 /*************************************************************************/
00060 #define APS_MAX_DATA_FRAME_HEADER_LENGTH  (12 + 6) /*6 bytes - auxiliary header*/
00061
00062 /*************************************************************************/
00065 #define APS_MAX_DATA_FRAME_FOOTER_LENGTH  8        /*8 bytes - Message Integrity Code (MIC)*/
00066 #endif
00067
00068 /*************************************************************************/
00071 #define APS_MAX_ASDU_SIZE           (NWK_MAX_NSDU_SIZE - APS_MAX_DATA_FRAME_HEADER_LENGTH - APS_MAX_DATA_FRAME_FOOTER_LENGTH)
00072
00073 /*************************************************************************/
00076 #define APS_ASDU_OFFSET             (NWK_NSDU_OFFSET + APS_MAX_DATA_FRAME_HEADER_LENGTH)
00077
00078 /*************************************************************************/
00081 #define APS_AFFIX_LENGTH            (APS_MAX_DATA_FRAME_HEADER_LENGTH + APS_MAX_DATA_FRAME_FOOTER_LENGTH + NWK_AFFIX_LENGTH)
00082
00083 /*************************************************************************/
00086 #define APS_BROADCAST_ENDPOINT      0xff
00087
00088 /*************************************************************************/
00091 #define APS_MIN_USER_ENDPOINT       0x01
00092
00093 /*************************************************************************/
00096 #define APS_MAX_USER_ENDPOINT       0xf0
00097
00098 // \cond internal
00099 //ZDO Endpoint
00100 #define APS_ZDO_ENDPOINT            0x00
00101
00102 //Reserved endpoints
00103 #define APS_MIN_RESERVED_ENDPOINT   0xf1
00104 #define APS_MAX_RESERVED_ENDPOINT   0xfe
00105
00106 // APS short address defines
00107 #define APS_MAX_UNICAST_SHORT_ADDRESS     0xfff7
00108 // \endcond
00109
00110
00111 /******************************************************************************
00112                    Types section
00113 ******************************************************************************/
00114
00115
00116 /*****************************************************************************
00117   Special APS Level data types definition
00118 *****************************************************************************/
00119
00120 /*************************************************************************/
00126 typedef struct
00127 {
00128   union
00129   {
00130   ShortAddr_t shortAddress;
00131 #ifdef _APS_MULTICAST_
00132   GroupAddr_t groupAddress;
00133 #endif
00134   };                            //
00135   ExtAddr_t extAddress;
00136 } APS_Address_t;
00137
00138 /*************************************************************************/
00145 typedef enum
00146 {
00147   APS_NO_ADDRESS        = 0x00,
00148 #ifdef _APS_MULTICAST_
00149   APS_GROUP_ADDRESS     = 0x01,
00150 #endif
00151   APS_SHORT_ADDRESS     = 0x02,
00152   APS_EXT_ADDRESS       = 0x03
00153 } APS_AddrMode_t;
00154
00155 /*************************************************************************/
00164 typedef enum
00165 {
00166   APS_SUCCESS_STATUS                      = 0x00,
00167   APS_ASDU_TOO_LONG_STATUS                = 0xa0,
00168   APS_DEFRAG_DEFERRED_STATUS              = 0xa1,
00169   APS_DEFRAG_UNSUPPORTED_STATUS           = 0xa2,
00170   APS_ILLEGAL_REQUEST_STATUS              = 0xa3,
00171   APS_INVALID_BINDING_STATUS              = 0xa4,
00172   APS_INVALID_GROUP_STATUS                = 0xa5,
00173   APS_INVALID_PARAMETER_STATUS            = 0xa6,
00174   APS_NO_ACK_STATUS                       = 0xa7,
00175   APS_NO_BOUND_DEVICE_STATUS              = 0xa8,
00176   APS_NO_SHORT_ADDRESS_STATUS             = 0xa9,
00177   APS_NOT_SUPPORTED_STATUS                = 0xaa,
00178   APS_SECURED_LINK_KEY_STATUS             = 0xab,
00179   APS_SECURED_NWK_KEY_STATUS              = 0xac,
00180   APS_SECURITY_FAIL_STATUS                = 0xad,
00181   APS_TABLE_FULL_STATUS                   = 0xae,
00182   APS_UNSECURED_STATUS                    = 0xaf,
00183   APS_UNSUPPORTED_ATTRIBUTE_STATUS        = 0xb0,
00184
00185   //Proprietary status values
00186   APS_NOT_INDICATED_STATUS                = 0xb1
00187 } APS_Status_t;
00188
00189 #ifdef _SECURITY_
00190 /*************************************************************************/
00199 typedef enum
00200 {
00201   APS_SKKE_SUCCESS_STATUS             = 0x00,
00202   APS_SKKE_INVALID_PARAMETER_STATUS   = 0x01,
00203   APS_SKKE_NO_MASTER_KEY_STATUS       = 0x02,
00204   APS_SKKE_INVALID_CHALLENGE_STATUS   = 0x03,
00205   APS_SKKE_INVALID_SKG_STATUS         = 0x04,
00206   APS_SKKE_INVALID_MAC_STATUS         = 0x05,
00207   APS_SKKE_INVALID_KEY_STATUS         = 0x06,
00208   APS_SKKE_TIMEOUT_STATUS             = 0x07,
00209   APS_SKKE_BAD_FRAME_STATUS           = 0x08,
00210 } APS_SkkeStatus_t;
00211 #endif //#ifdef _SECURITY_
00212
00213 /*************************************************************************/
00222 typedef enum
00223 {
00224   //AIB standard attributes
00225   APS_AIB_BINDING_TABLE                   = 0xc1,
00226   APS_AIB_DESIGNATED_COORDINATOR          = 0xc2,
00227   APS_AIB_CHANNEL_MASK                    = 0xc3,
00228   APS_AIB_USE_EXTENDED_PANID              = 0xc4,
00229   APS_AIB_GROUP_TABLE                     = 0xc5,
00230   APS_AIB_NONMEMBER_RADIUS                = 0xc6,
00231   APS_AIB_PERMISSIONS_CONFIGURATION       = 0xc7,
00232   APS_AIB_USE_INSECURE_JOIN               = 0xc8,
00233   APS_AIB_INTERFRAME_DELAY                = 0xc9,
00234
00235   //AIB security attributes ID
00236   APS_AIB_DEVICE_KEY_PAIR_SET             = 0xaa,
00237   APS_AIB_TRUST_CENTER_ADDRESS            = 0xab,
00238   APS_AIB_SECURITY_TIME_OUT_PERIOD        = 0xac
00239 } APS_AibAttributeId_t;
00240
00241 /*************************************************************************/
00249 typedef struct
00250 {
00251   uint8_t   apscMaxDescriptorSize;
00252   uint8_t   apscMaxFrameRetries;
00253   uint32_t  apscAckWaitDuration;
00254   uint8_t   apscMinDuplicateRejectionTableSize;
00255   uint8_t   apscMaxWindowSize;
00256   uint16_t  apscInterframeDelay;
00257   uint8_t   apscMinHeaderOverHead;
00258 } APS_AibPermissionsConfiguration_t;
00259
00260
00261
00262 /*****************************************************************************
00263   APS Group Table entry type
00264 *****************************************************************************/
00265 //\cond internal
00266 typedef struct
00267 {
00268   bool busy;
00269   GroupAddr_t groupAddr;              //Group address
00270   Endpoint_t endpoints[1];            //endpoints (group members)
00271 } APS_GroupTableEntry_t;
00272 //\endcond
00273
00274 /*****************************************************************************
00275   APS Group Table type
00276 *****************************************************************************/
00277 //\cond internal
00278 typedef struct
00279 {
00280   uint8_t   groupsAmount;             //Table size in cells (amount of entries)
00281   uint8_t   endpointsAmount;          //Maximum amount of group members
00282                                       //(positive value)
00283   uint16_t  entrySizeof;              //Entry size in bytes
00284   APS_GroupTableEntry_t *entries;     //Table entries buffer pointer
00285 } APS_GroupTable_t;
00286 //\endcond
00287
00288 /*************************************************************************/
00297 typedef union
00298 {
00299   //AIB standard attributes
00300
00301   void      *apsBindingTable;
00302   bool      apsDesignatedCoordinator;
00303   uint32_t  apsChannelMask;
00304   uint64_t  apsUseExtendedPANID;
00305   APS_GroupTable_t *apsGroupTable;
00306   uint8_t   apsNonmemberRadius;
00307
00309   APS_AibPermissionsConfiguration_t *apsPermissionsConfiguration;
00310
00311   bool      apsUseInsecureJoin;
00312   uint16_t  apsInterframeDelay;
00313
00314   //AIB security attributes
00315   void      *apsDeviceKeyPairSet;
00316   uint64_t  apsTrustCenterAddress;
00317   uint16_t  apsSecurityTimeOutPeriod;
00318 } APS_AibAttribute_t;
00319
00320
00321
00322 /*****************************************************************************
00323   APSDE Entity Primitives
00324 *****************************************************************************/
00325
00326 /*************************************************************************/
00331 typedef struct
00332 {
00333   //Standard fields
00334   //APS_AddrMode_t dstAddrMode;
00335   //APS_Address_t dstAddress;
00336   //Endpoint_t dstEndpoint;
00337   //Endpoint_t srcEndpoint;
00338   APS_Status_t status;
00339   uint32_t txTime;
00340
00341 } APS_DataConf_t;
00342
00343
00344 /*************************************************************************/
00348 BEGIN_PACK
00349 typedef struct PACK
00350 {
00351   uint8_t   securityEnabledTransmission   :1;
00352   uint8_t   useNwkKey                     :1;
00353   uint8_t   acknowledgedTransmission      :1;
00354   uint8_t   fragmentationPermitted        :1;
00355   uint8_t   reserved                      :4;
00356 } APS_TxOptions_t;
00357 END_PACK
00358
00359 /*************************************************************************/
00364 typedef struct
00365 {
00366   //Service fields
00368   struct
00369   {
00370     void *next;
00371   } service;
00372
00373   //Primitive fields
00384   APS_AddrMode_t dstAddrMode;
00388   APS_Address_t dstAddress;
00394   Endpoint_t dstEndpoint;
00396   ProfileId_t profileId;
00398   ClusterId_t clusterId;
00400   Endpoint_t srcEndpoint;
00405   uint8_t asduLength;
00407   uint8_t *asdu;
00417   APS_TxOptions_t txOptions;
00421   uint8_t radius;
00422   //Callback and Confirm
00424   void (*APS_DataConf)(APS_DataConf_t *conf);
00425   APS_DataConf_t confirm;
00426 } APS_DataReq_t;
00427
00428
00429 /*************************************************************************/
00435 typedef struct
00436 {
00444   APS_AddrMode_t dstAddrMode;
00447   APS_Address_t dstAddress;
00449   Endpoint_t dstEndpoint;
00458   APS_AddrMode_t srcAddrMode;
00461   APS_Address_t srcAddress;
00464   Endpoint_t srcEndpoint;
00466   ProfileId_t profileId;
00468   ClusterId_t clusterId;
00470   uint8_t asduLength;
00472   uint8_t *asdu;
00474   APS_Status_t status;
00478   APS_Status_t securityStatus;
00480   uint8_t linkQuality;
00483   uint32_t rxTime;
00484   //\cond internal
00485   int8_t rssi;
00486   //\endcond
00487 } APS_DataInd_t;
00488
00489 //============================================================================
00490
00491 #ifdef _BINDING_
00492 /*****************************************************************************
00493   Binding Primitives
00494 *****************************************************************************/
00495 //\cond internal
00496 /*
00497   Parameters structure of the APS_BindConf() function.
00498   The APSME-BIND.confirm primitive.
00499 */
00500 typedef struct
00501 {
00502   //Primitive fields
00503   APS_Status_t status;
00504 } APS_BindConf_t;
00505
00506
00507 /*
00508   Parameters structure of the APS_BindReq() function.
00509   The APSME-BIND.request primitive.
00510 */
00511 typedef struct
00512 {
00513   //Standard fields
00514   ExtAddr_t srcAddr;
00515   Endpoint_t srcEndpoint;
00516   ClusterId_t clusterId;
00517   APS_AddrMode_t dstAddrMode;
00518   APS_Address_t dstAddr;
00519   Endpoint_t dstEndpoint;
00520   //Confirm
00521   APS_BindConf_t confirm;
00522 } APS_BindReq_t;
00523
00524
00525 /*
00526   Parameters structure of the APS_UnbindConf() function.
00527   The APSME-UNBIND.confirm primitive.
00528 */
00529 typedef struct
00530 {
00531   //Standard fields
00532   APS_Status_t status;
00533 } APS_UnbindConf_t;
00534
00535
00536 /*
00537   Parameters structure of the APS_UnbindReq_t() function.
00538   The APSME-UNBIND.request primitive.
00539 */
00540 typedef struct
00541 {
00542   //Standard fields
00543   ExtAddr_t srcAddr;
00544   Endpoint_t srcEndpoint;
00545   ClusterId_t clusterId;
00546   APS_AddrMode_t dstAddrMode;
00547   APS_Address_t dstAddr;
00548   Endpoint_t dstEndpoint;
00549   //Confirm
00550   APS_UnbindConf_t confirm;
00551 } APS_UnbindReq_t;
00552
00553 //\endcond
00554 #endif //#ifdef _BINDING_
00555
00556 /*****************************************************************************
00557   AIB Maintenance Primitives
00558 *****************************************************************************/
00559
00560 /*************************************************************************/
00565 typedef struct
00566 {
00567   //Standard fields
00569   APS_Status_t status;
00571   uint16_t aibAttributeLength;
00573   APS_AibAttribute_t aibAttributeValue;
00574 } APS_GetConf_t;
00575
00576
00577 /*************************************************************************/
00582 typedef struct
00583 {
00584   //Standard fields
00586   APS_AibAttributeId_t aibAttribute;
00587
00588   //Confirm
00590   APS_GetConf_t confirm;
00591 } APS_GetReq_t;
00592
00593
00594 /*************************************************************************/
00599 typedef struct
00600 {
00601   //Standard fields
00603   APS_Status_t status;
00604 } APS_SetConf_t;
00605
00606
00607 /*************************************************************************/
00612 typedef struct
00613 {
00614   //Standard fields
00616   APS_AibAttributeId_t aibAttribute;
00618   uint16_t aibAttributeLength;
00620   APS_AibAttribute_t aibAttributeValue;
00621
00622   //Confirm
00624   APS_SetConf_t confirm;
00625 } APS_SetReq_t;
00626 //============================================================================
00627
00628 #ifdef _APS_MULTICAST_
00629 /*****************************************************************************
00630   APS Group Management Primitives
00631 *****************************************************************************/
00632
00633 /*************************************************************************/
00638 typedef struct
00639 {
00640   //Standard fields
00642   APS_Status_t status;
00643 } APS_AddGroupConf_t;
00644
00645 /*************************************************************************/
00650 typedef struct
00651 {
00652   //Standard fields
00654   GroupAddr_t groupAddress;
00656   Endpoint_t endpoint;
00657
00658   //Confirm
00660   APS_AddGroupConf_t confirm;
00661 } APS_AddGroupReq_t;
00662
00663
00664 /*************************************************************************/
00669 typedef struct
00670 {
00671   //Standard fields
00673   APS_Status_t status;
00674 } APS_RemoveGroupConf_t;
00675
00676 /*************************************************************************/
00681 typedef struct
00682 {
00683   //Standard fields
00685   GroupAddr_t groupAddress;
00687   Endpoint_t endpoint;
00688
00689   //Confirm
00691   APS_RemoveGroupConf_t confirm;
00692 } APS_RemoveGroupReq_t;
00693
00694
00695 /*************************************************************************/
00700 typedef struct
00701 {
00702   //Standard fields
00704   APS_Status_t status;
00705 } APS_RemoveAllGroupsConf_t;
00706
00707 /*************************************************************************/
00712 typedef struct
00713 {
00714   //Standard fields
00716   Endpoint_t endpoint;
00717
00718   //Confirm
00720   APS_RemoveAllGroupsConf_t confirm;
00721 } APS_RemoveAllGroupsReq_t;
00722 //============================================================================
00723 #endif //#ifdef _APS_MULTICAST_
00724
00725 //\cond internal
00726 #ifdef _SECURITY_
00727 #ifdef _HIGH_SECURITY_
00728 typedef struct
00729 {
00730   ExtAddr_t deviceAddress;
00731   uint8_t masterKey[16];
00732   uint8_t linkKey[16];
00733   uint32_t outFrameCounter;
00734   uint32_t inFrameCounter;
00735 } ApsKeyPairDescriptor_t;
00736
00737
00738
00739 /*****************************************************************************
00740   APS Security Management Primitives
00741 *****************************************************************************/
00742
00743 typedef enum
00744 {
00745   APS_SKKE_KEY_ESTABLISHMENT_METHOD = 0x00
00746 } APS_KeyEstablishmentMethod_t;
00747
00748
00749 /*****************************************************************************
00750   APSME-ESTABLISH-KEY.confirm primitive
00751 *****************************************************************************/
00752 typedef struct
00753 {
00754   ExtAddr_t address;
00755   APS_SkkeStatus_t status;
00756 } APS_EstablishKeyConf_t;
00757
00758
00759
00760 /*****************************************************************************
00761   APSME-ESTABLISH-KEY.request primitive
00762 *****************************************************************************/
00763 typedef struct
00764 {
00765   //Service fields
00767   struct
00768   {
00769     void *next;
00770   } service;
00771   //Standards fields
00772   ExtAddr_t responderAddress;
00773   bool useParent;
00774   ExtAddr_t responderParentAddress;
00775   APS_KeyEstablishmentMethod_t keyEstablishmentMethod;
00776   //Confirm and callback
00777   APS_EstablishKeyConf_t confirm;
00778   void (*APS_EstablishKeyConf)(APS_EstablishKeyConf_t *conf);
00779 } APS_EstablishKeyReq_t;
00780
00781
00782 /*****************************************************************************
00783   APSME-ESTABLISH-KEY.response primitive
00784 *****************************************************************************/
00785 typedef struct
00786 {
00787   ExtAddr_t initiatorAddress;
00788   bool accept;
00789   //Confirm and callback
00790   APS_EstablishKeyConf_t confirm;
00791   void (*APS_EstablishKeyConf)(APS_EstablishKeyConf_t *conf);
00792 } APS_EstablishKeyResp_t;
00793
00794
00795 /*****************************************************************************
00796   APSME-ESTABLISH-KEY.indication primitive
00797 *****************************************************************************/
00798 typedef struct
00799 {
00800   //Standards fields
00801   ExtAddr_t initiatorAddress;
00802   APS_KeyEstablishmentMethod_t keyEstablishmentMethod;
00803 } APS_EstablishKeyInd_t;
00804 #endif //#ifdef _HIGH_SECURITY_
00805
00806
00807
00808 //============================================================================
00809 typedef enum
00810 {
00811   APS_TRUST_CENTER_MASTER_KEY_TYPE =      0x00,
00812   APS_STANDARD_NETWORK_KEY_TYPE =         0x01,
00813   APS_APP_MASTER_KEY_TYPE =               0x02,
00814   APS_APP_LINK_KEY_TYPE =                 0x03,
00815   APS_TRUST_CENTER_LINK_KEY_TYPE =        0x04,
00816   APS_HIGH_SECURITY_NETWORK_KEY_TYPE =    0x05
00817 } APS_TransportKeyType_t;
00818
00819
00820 typedef struct
00821 {
00822   ExtAddr_t parentAddress;
00823   uint8_t key[16];
00824 } APS_ReqTrustCenterMasterOrLinkKeyTransportData_t;
00825
00826 typedef struct
00827 {
00828   uint8_t keySeqNumber;
00829   uint8_t networkKey[16];
00830   bool useParent;
00831   ExtAddr_t parentAddress;
00832 } APS_ReqNetworkKeyTransportData_t;
00833
00834 typedef struct
00835 {
00836   ExtAddr_t partnerAddress;
00837   bool initiator;
00838   uint8_t key[16];
00839 } APS_ReqApplicationMasterOrLinkKeyTransportData_t;
00840
00841 typedef union
00842 {
00843   APS_ReqTrustCenterMasterOrLinkKeyTransportData_t trustCenterKey;
00844   APS_ReqNetworkKeyTransportData_t networkKey;
00845   APS_ReqApplicationMasterOrLinkKeyTransportData_t applicationKey;
00846 } APS_ReqTransportKeyData_t;
00847
00848
00849 typedef enum
00850 {
00851   APS_TKR_SUCCESS_STATUS                      = 0x00,
00852   APS_TKR_NO_SHORT_ADDRESS_STATUS             = 0x01,
00853   APS_TKR_SECURITY_FAIL_STATUS                = 0x02,
00854   APS_TKR_NOT_SENT_STATUS                     = 0x03
00855 } APS_TkrStatus_t;
00856
00857 /*****************************************************************************
00858   (Out of ZigBee Standard) APSME-TRANSPORT-KEY.confirm primitive
00859 *****************************************************************************/
00860 typedef struct
00861 {
00862   APS_TkrStatus_t status;
00863 } APS_TransportKeyConf_t;
00864
00865 /*****************************************************************************
00866   APSME-TRANSPORT-KEY.request primitive
00867 *****************************************************************************/
00868 typedef struct
00869 {
00870   //Service fields
00871   struct
00872   {
00873     void *next;
00874   } service;
00875
00876   //Standards fields
00877   ExtAddr_t destAddress;
00878   APS_TransportKeyType_t keyType;
00879   APS_ReqTransportKeyData_t transportKeyData;
00880
00881   //Callback and Confirm
00882   APS_TransportKeyConf_t confirm;
00883   void (*APS_TransportKeyConf)(APS_TransportKeyConf_t *conf);
00884 } APS_TransportKeyReq_t;
00885
00886 //============================================================================
00887
00888 typedef struct
00889 {
00890   uint8_t trustCenterMasterKey[16];
00891 } APS_IndTrustCenterMasterOrLinkKeyTransportData_t;
00892
00893 typedef struct
00894 {
00895   uint8_t keySeqNumber;
00896   uint8_t networkKey[16];
00897 } APS_IndNetworkKeyTransportData_t;
00898
00899 typedef struct
00900 {
00901   ExtAddr_t partnerAddress;
00902   uint8_t key[16];
00903 } APS_IndApplicationMasterOrLinkKeyTransportData_t;
00904
00905 typedef union
00906 {
00907   APS_IndTrustCenterMasterOrLinkKeyTransportData_t trustCenterKey;
00908   APS_IndNetworkKeyTransportData_t networkKey;
00909   APS_IndApplicationMasterOrLinkKeyTransportData_t applicationKey;
00910 } APS_IndTransportKeyData_t;
00911
00912
00913 /*****************************************************************************
00914   APSME-TRANSPORT-KEY.indication primitive
00915 *****************************************************************************/
00916 typedef struct
00917 {
00918   //Standards fields
00919   ExtAddr_t srcAddress;
00920   APS_TransportKeyType_t keyType;
00921   APS_IndTransportKeyData_t transportKeyData;
00922 } APS_TransportKeyInd_t;
00923 //============================================================================
00924
00925 typedef enum
00926 {
00927   APS_STANDARD_DEVICE_SECURED_REJOIN_STATUS =           0x00,
00928   APS_STANDARD_DEVICE_UNSECURED_JOIN_STATUS =           0x01,
00929   APS_DEVICE_LEFT_STATUS =                              0x02,
00930   APS_STANDARD_DEVICE_UNSECURED_REJOIN_STATUS =         0x03,
00931   APS_HIGH_SECURITY_DEVICE_SECURED_REJOIN_STATUS =      0x04,
00932   APS_HIGH_SECURITY_DEVICE_UNSECURED_JOIN_STATUS =      0x05,
00933   APS_RESERVED_STATUS =                                 0x06,
00934   APS_HIGH_SECURITY_DEVICE_UNSECURED_REJOIN_STATUS =    0x07
00935 } APS_UpdateDeviceStatus_t;
00936
00937 typedef enum
00938 {
00939   APS_UDR_SUCCESS_STATUS                      = 0x00,
00940   APS_UDR_NO_SHORT_ADDRESS_STATUS             = 0x01,
00941   APS_UDR_SECURITY_FAIL_STATUS                = 0x02,
00942   APS_UDR_NOT_SENT_STATUS                     = 0x03
00943 } APS_UdrStatus_t;
00944
00945 /*****************************************************************************
00946   (Out of ZigBee Standard) APSME-UPDATE-DEVICE.confirm primitive
00947 *****************************************************************************/
00948 typedef struct
00949 {
00950   APS_UdrStatus_t status;
00951 } APS_UpdateDeviceConf_t;
00952
00953
00954 /*****************************************************************************
00955   APSME-UPDATE-DEVICE.request primitive
00956 *****************************************************************************/
00957 typedef struct
00958 {
00959   //Service fields
00960   struct
00961   {
00962     void *next;
00963   } service;
00964
00965   //Standards fields
00966   ExtAddr_t destAddress;
00967   ExtAddr_t deviceAddress;
00968   APS_UpdateDeviceStatus_t status;
00969   ShortAddr_t deviceShortAddress;
00970
00971   //Callback and Confirm
00972   APS_UpdateDeviceConf_t confirm;
00973   void (*APS_UpdateDeviceConf)(APS_UpdateDeviceConf_t *conf);
00974 } APS_UpdateDeviceReq_t;
00975
00976
00977 /*****************************************************************************
00978   APSME-UPDATE-DEVICE.indication primitive
00979 *****************************************************************************/
00980 typedef struct
00981 {
00982   //Standards fields
00983   ExtAddr_t srcAddress;
00984   ExtAddr_t deviceAddress;
00985   APS_UpdateDeviceStatus_t status;
00986   ShortAddr_t deviceShortAddress;
00987 } APS_UpdateDeviceInd_t;
00988 //============================================================================
00989
00990 typedef enum
00991 {
00992   APS_RDR_SUCCESS_STATUS                      = 0x00,
00993   APS_RDR_NO_SHORT_ADDRESS_STATUS             = 0x01,
00994   APS_RDR_SECURITY_FAIL_STATUS                = 0x02,
00995   APS_RDR_NOT_SENT_STATUS                     = 0x03
00996 } APS_RdrStatus_t;
00997
00998 /*****************************************************************************
00999   (Out of ZigBee Standard) APSME-REMOVE-DEVICE.confirm primitive
01000 *****************************************************************************/
01001 typedef struct
01002 {
01003   APS_RdrStatus_t status;
01004 } APS_RemoveDeviceConf_t;
01005
01006
01007 /*****************************************************************************
01008   APSME-REMOVE-DEVICE.request primitive
01009 *****************************************************************************/
01010 typedef struct
01011 {
01012   //Service fields
01013   struct
01014   {
01015     void *next;
01016   } service;
01017
01018   //Standards fields
01019   ExtAddr_t parentAddress;
01020   ExtAddr_t childAddress;
01021
01022   //Callback and Confirm
01023   APS_RemoveDeviceConf_t confirm;
01024   void (*APS_RemoveDeviceConf)(APS_RemoveDeviceConf_t *conf);
01025 } APS_RemoveDeviceReq_t;
01026
01027
01028 /*****************************************************************************
01029   APSME-REMOVE-DEVICE.indication primitive
01030 *****************************************************************************/
01031 typedef struct
01032 {
01033   //Standards fields
01034   ExtAddr_t srcAddress;
01035   ExtAddr_t childAddress;
01036 } APS_RemoveDeviceInd_t;
01037 //============================================================================
01038
01039
01040 #ifdef _HIGH_SECURITY_
01041
01042 typedef enum
01043 {
01044   APS_NETWORK_KEY_TYPE =      0x01,
01045   APS_APP_KEY_TYPE =          0x02
01046 } APS_RequestKeyType_t;
01047
01048 typedef enum
01049 {
01050   APS_RKR_SUCCESS_STATUS                      = 0x00,
01051   APS_RKR_NO_SHORT_ADDRESS_STATUS             = 0x01,
01052   APS_RKR_SECURITY_FAIL_STATUS                = 0x02,
01053   APS_RKR_NOT_SENT_STATUS                     = 0x03
01054 } APS_RkrStatus_t;
01055 /*****************************************************************************
01056   (Out of ZigBee Standard) APSME-REQUEST-KEY.confirm primitive
01057 *****************************************************************************/
01058 typedef struct
01059 {
01060   APS_RkrStatus_t status;
01061 } APS_RequestKeyConf_t;
01062
01063 /*****************************************************************************
01064   APSME-REQUEST-KEY.request primitive
01065 *****************************************************************************/
01066 typedef struct
01067 {
01068   //Service fields
01069   struct
01070   {
01071     void *next;
01072   } service;
01073
01074   //Standards fields
01075   ExtAddr_t destAddress;
01076   APS_RequestKeyType_t keyType;
01077   ExtAddr_t partnerAddress;
01078
01079   //Callback and Confirm
01080   APS_RequestKeyConf_t confirm;
01081   void (*APS_RequestKeyConf)(APS_RequestKeyConf_t *conf);
01082 } APS_RequestKeyReq_t;
01083
01084 /*****************************************************************************
01085   APSME-REQUEST-KEY.indication primitive
01086 *****************************************************************************/
01087 typedef struct
01088 {
01089   //Standards fields
01090   ExtAddr_t srcAddress;
01091   APS_RequestKeyType_t keyType;
01092   ExtAddr_t partnerAddress;
01093 } APS_RequestKeyInd_t;
01094
01095 #endif //#ifdef _HIGH_SECURITY_
01096
01097 //============================================================================
01098
01099
01100
01101
01102 typedef enum
01103 {
01104   APS_SKR_SUCCESS_STATUS                      = 0x00,
01105   APS_SKR_NO_SHORT_ADDRESS_STATUS             = 0x01,
01106   APS_SKR_SECURITY_FAIL_STATUS                = 0x02,
01107   APS_SKR_NOT_SENT_STATUS                     = 0x03
01108 } APS_SkrStatus_t;
01109
01110 /*****************************************************************************
01111   (Out of ZigBee Standard) APSME-SWITCH-KEY.confirm primitive
01112 *****************************************************************************/
01113 typedef struct
01114 {
01115   APS_SkrStatus_t status;
01116 } APS_SwitchKeyConf_t;
01117
01118
01119 /*****************************************************************************
01120   APSME-SWITCH-KEY.request primitive
01121 *****************************************************************************/
01122 typedef struct
01123 {
01124   //Service fields
01125   struct
01126   {
01127     void *next;
01128   } service;
01129
01130   //Standards fields
01131   ExtAddr_t destAddress;
01132   uint8_t keySeqNumber;
01133
01134   //Callback and Confirm
01135   APS_SwitchKeyConf_t confirm;
01136   void (*APS_SwitchKeyConf)(APS_SwitchKeyConf_t *conf);
01137 } APS_SwitchKeyReq_t;
01138
01139
01140 /*****************************************************************************
01141   APSME-SWITCH-KEY.indication primitive
01142 *****************************************************************************/
01143 typedef struct
01144 {
01145   //Standards fields
01146   ExtAddr_t srcAddress;
01147   uint8_t keySeqNumber;
01148 } APS_SwitchKeyInd_t;
01149 //============================================================================
01150
01151 #ifdef _HIGH_SECURITY_
01152
01153 typedef enum
01154 {
01155   APS_INITIATE_ACTION =               0x00,
01156   APS_RESPOND_ACCEPT_ACTION =         0x01,
01157   APS_RESPOND_REJECT_ACTION =         0x02
01158 } APS_AuthenticateAction_t;
01159
01160 typedef enum
01161 {
01162   APS_AUTH_SUCCESS_STATUS =               0x00,
01163   APS_AUTH_INVALID_PARAMETER_STATUS =     0x01,
01164   APS_AUTH_NO_KEY_STATUS =                0x02,
01165   APS_AUTH_NO_DATA_STATUS =               0x03,
01166   APS_AUTH_INVALID_CHALLENGE_STATUS =     0x04,
01167   APS_AUTH_INVALID_MAC_STATUS =           0x05,
01168   APS_AUTH_INVALID_KEY_STATUS =           0x06,
01169   APS_AUTH_TIMEOUT_STATUS =               0x07
01170 } APS_AuthenticateStatus_t;
01171
01172 /*****************************************************************************
01173   APSME-AUTHENTICATE.confirm primitive
01174 *****************************************************************************/
01175 typedef struct
01176 {
01177   //Standards fields
01178   ExtAddr_t address;
01179   APS_AuthenticateStatus_t status;
01180 } APS_AuthenticateConf_t;
01181
01182
01183 /*****************************************************************************
01184   APSME-AUTHENTICATE.request primitive
01185 *****************************************************************************/
01186 typedef struct
01187 {
01188   //Service fields
01189   struct
01190   {
01191     void *next;
01192   } service;
01193
01194   //Standards fields
01195   ExtAddr_t partnerAddress;
01196   APS_AuthenticateAction_t action;
01197   uint8_t randomChallenge[16];
01198
01199   //Callback and Confirm
01200   void (*APS_AuthenticateConf)(APS_AuthenticateConf_t *conf);
01201   APS_AuthenticateConf_t confirm;
01202 } APS_AuthenticateReq_t;
01203
01204 /*****************************************************************************
01205   APSME-AUTHENTICATE.indication primitive
01206 *****************************************************************************/
01207 typedef struct
01208 {
01209   //Standards fields
01210   ExtAddr_t initiatorAddress;
01211   uint8_t randomChallenge[16];
01212 } APS_AuthenticateInd_t;
01213
01214 #endif //#ifdef _HIGH_SECURITY_
01215
01216 //============================================================================
01217 #endif //#ifdef _SECURITY_
01218 //\endcond
01219
01220
01221 /*****************************************************************************
01222   APS Special Primitives
01223 *****************************************************************************/
01224 //\cond internal
01225
01226
01227 /*****************************************************************************
01228   APSME-RESET.confirm primitive
01229 *****************************************************************************/
01230 typedef struct
01231 {
01232   //Standard fields
01233   APS_Status_t status;
01234 } APS_ResetConf_t;
01235
01236 /*****************************************************************************
01237   APSME-RESET.request primitive
01238 *****************************************************************************/
01239 typedef struct
01240 {
01241   //Standard fields
01242   bool commissioning;
01243   //Callback and Confirm
01244   void (*APS_ResetConf)(APS_ResetConf_t *conf);
01245   APS_ResetConf_t confirm;
01246 } APS_ResetReq_t;
01247
01248 /*****************************************************************************
01249   APSME-START.confirm primitive
01250 *****************************************************************************/
01251 typedef struct
01252 {
01253   //Standard fields
01254   APS_Status_t status;
01255 } APS_StartConf_t;
01256
01257 /*****************************************************************************
01258   APSME-START.request primitive
01259 *****************************************************************************/
01260 typedef struct
01261 {
01262   //Standard fields
01263
01264   //Callback and Confirm
01265   void (*APS_StartConf)(APS_StartConf_t *conf);
01266   APS_StartConf_t confirm;
01267 } APS_StartReq_t;
01268
01269
01270 /*****************************************************************************
01271   APSME-STOP.confirm primitive
01272 *****************************************************************************/
01273 typedef struct
01274 {
01275   //Standard fields
01276   APS_Status_t status;
01277 } APS_StopConf_t;
01278
01279
01280 /*****************************************************************************
01281   APSME-STOP.request primitive
01282 *****************************************************************************/
01283 typedef struct
01284 {
01285   //Standard fields
01286
01287   //Callback and Confirm
01288   void (*APS_StopConf)(APS_StopConf_t *conf);
01289   APS_StopConf_t confirm;
01290 } APS_StopReq_t;
01291 //\endcond
01292 //============================================================================
01293
01294
01295
01296
01297 /*****************************************************************************
01298   APS Endpoint Register/Unregister Primitives
01299 *****************************************************************************/
01300
01301 /*************************************************************************/
01306 typedef struct
01307 {
01308   //Service fields
01310   struct
01311   {
01312     void *next;
01313     struct
01314     {
01315       uint8_t noIndication  :1; //If
01316       uint8_t reserved      :7;
01317     };
01318   } service;
01319
01320   //Standard fields
01322   SimpleDescriptor_t *simpleDescriptor;
01324   void (*APS_DataInd)(APS_DataInd_t *ind);
01325 } APS_RegisterEndpointReq_t;
01326
01327 /*************************************************************************/
01332 typedef struct
01333 {
01334   //Standard fields
01336   Endpoint_t endpoint;
01337 } APS_UnregisterEndpointReq_t;
01338 //============================================================================
01339
01340
01341
01342 /******************************************************************************
01343                    Constants section
01344 ******************************************************************************/
01345
01346 /******************************************************************************
01347                    External variables section
01348 ******************************************************************************/
01349
01350 /******************************************************************************
01351                    Prototypes section
01352 ******************************************************************************/
01353
01354
01355 /*****************************************************************************
01356   APS API Prototypes
01357 *****************************************************************************/
01358
01359 /*****************************************************************************
01360   APS Task Manager API
01361 *****************************************************************************/
01362 // \cond internal
01363 /*****************************************************************************
01364   Peforms APS sublayer processing.
01365   Parameters: None
01366   Returns:    None
01367 *****************************************************************************/
01368 extern void APS_TaskHandler(void);
01369 // \endcond
01370 //============================================================================
01371
01372 #ifdef _BINDING_
01373 /*****************************************************************************
01374   APS Binding API
01375 *****************************************************************************/
01376 void APS_BindReq(APS_BindReq_t *req);
01377 void APS_UnbindReq(APS_UnbindReq_t *req);
01378 #endif //#ifdef _BINDING_
01379
01380 /*****************************************************************************
01381   APS AIB Manager API
01382 *****************************************************************************/
01383
01384 /**************************************************************************/
01391 extern void APS_GetReq(APS_GetReq_t *req);
01392
01393 /**************************************************************************/
01403 extern void APS_SetReq(APS_SetReq_t *req);
01404 //============================================================================
01405
01406 /*****************************************************************************
01407   APS Control Manager API
01408 *****************************************************************************/
01409
01410 /*************************************************************************/
01417 extern void APS_RegisterEndpointReq(APS_RegisterEndpointReq_t *req);
01418
01419 /*************************************************************************/
01426 extern void APS_UnregisterEndpointReq(APS_UnregisterEndpointReq_t *req);
01427
01428 /*************************************************************************/
01434 extern APS_RegisterEndpointReq_t *APS_GetEndpointList(void);
01435
01436 /*************************************************************************/
01443 extern void APS_StopEndpointIndication(Endpoint_t endpoint);
01444
01445 /*************************************************************************/
01452 extern void APS_ResumeEndpointIndication(Endpoint_t endpoint);
01453
01454 //\cond internal
01455 /**************************************************************************/
01463 extern void APS_ResetReq(APS_ResetReq_t *req);
01464
01465 /**************************************************************************/
01470 extern void APS_Init(void);
01471
01472
01473 /**************************************************************************/
01478 extern void APS_StartReq(APS_StartReq_t *req);
01479
01480 /**************************************************************************/
01485 extern void APS_StopReq(APS_StopReq_t *req);
01486 // \endcond
01487 //============================================================================
01488
01489 /*****************************************************************************
01490   APS Data Manager API
01491 *****************************************************************************/
01492
01493 /**************************************************************************/
01504 extern void APS_DataReq(APS_DataReq_t *req);
01505
01506
01507 #ifdef _APS_MULTICAST_
01508 /*****************************************************************************
01509   APS Group Manager API
01510 *****************************************************************************/
01511
01512 /**************************************************************************/
01523 extern void APS_AddGroupReq(APS_AddGroupReq_t *req);
01524
01525 /**************************************************************************/
01536 extern void APS_RemoveGroupReq(APS_RemoveGroupReq_t *req);
01537
01538 /**************************************************************************/
01550 extern void APS_RemoveAllGroupsReq(APS_RemoveAllGroupsReq_t *req);
01551
01552 //\cond internal
01553 /***************************************************************************/
01567 APS_GroupTableEntry_t* APS_FindGroup(GroupAddr_t groupAddr, uint8_t *index);
01568 //\endcond
01569 //============================================================================
01570 #endif
01571
01572
01573 //\cond internal
01574 #ifdef _SECURITY_
01575 /*****************************************************************************
01576   APS Security Manager API
01577 *****************************************************************************/
01578 extern void APS_DeleteLinkKeyAndResetCounters(ExtAddr_t *extAddr);
01579
01580 /*****************************************************************************
01581   APS Master Key Set function
01582   Parameters: extAddr - extAddr pointer
01583               ket     - key material pointer
01584   Returns:    true - success
01585               false - no place
01586 *****************************************************************************/
01587 extern bool APS_SetMasterKey(ExtAddr_t *extAddr, uint8_t *key);
01588
01589 /*****************************************************************************
01590   APS Link Key Set function
01591   Parameters: extAddr - extAddr pointer
01592               ket     - key material pointer
01593   Returns:    true - success
01594               false - no place
01595 *****************************************************************************/
01596 extern bool APS_SetLinkKey(ExtAddr_t *extAddr, uint8_t *key);
01597
01598 #ifdef _HIGH_SECURITY_
01599 //Key Establishment feature
01600 extern void APS_EstablishKeyReq(APS_EstablishKeyReq_t *req);
01601 extern void APS_EstablishKeyResp(APS_EstablishKeyResp_t *resp);
01602 /*Must be provided*/
01603 extern void APS_EstablishKeyInd(APS_EstablishKeyInd_t *ind);
01604 //extern void APS_EstablishKeyConf(APS_EstablishKeyConf_t *conf);
01605 #endif //#ifdef _HIGH_SECURITY_
01606
01607
01608 //Transport Key feature
01609 extern void APS_TransportKeyReq(APS_TransportKeyReq_t *req);
01610 /*Must be provided*/
01611 extern void APS_TransportKeyInd(APS_TransportKeyInd_t *ind);
01612
01613 //Update Device feature
01614 extern void APS_UpdateDeviceReq(APS_UpdateDeviceReq_t *req);
01615 /*Must be provided*/
01616 extern void APS_UpdateDeviceInd(APS_UpdateDeviceInd_t *ind);
01617
01618
01619 //Remove Device feature
01620 extern void APS_RemoveDeviceReq(APS_RemoveDeviceReq_t *req);
01621 /*Must be provided*/
01622 extern void APS_RemoveDeviceInd(APS_RemoveDeviceInd_t *ind);
01623
01624 #ifdef _HIGH_SECURITY_
01625 //Request Key feature
01626 extern void APS_RequestKeyReq(APS_RequestKeyReq_t *req);
01627 /*Must be provided*/
01628 extern void APS_RequestKeyInd(APS_RequestKeyInd_t *ind);
01629 #endif //#ifdef _HIGH_SECURITY_
01630
01631 //Switch Key feature
01632 extern void APS_SwitchKeyReq(APS_SwitchKeyReq_t *req);
01633 /*Must be provided*/
01634 extern void APS_SwitchKeyInd(APS_SwitchKeyInd_t *ind);
01635
01636 #ifdef _HIGH_SECURITY_
01637 //Autenticate feature
01638 extern void APS_AuthenticateReq(APS_AuthenticateReq_t *req);
01639 /*Must be provided*/
01640 extern void APS_AuthenticateInd(APS_AuthenticateInd_t *ind);
01641
01642
01643 //ApsKeyPairSet API
01644 extern ApsKeyPairDescriptor_t *APS_GetKeyPairDescriptor(ExtAddr_t *address);
01645 extern uint8_t *APS_GetMasterKey(ApsKeyPairDescriptor_t *keyPairDescriptor);
01646 extern uint8_t *APS_GetLinkKey(ApsKeyPairDescriptor_t *keyPairDescriptor);
01647 extern bool APS_DeleteKeyPair(ExtAddr_t *extAddr);
01648 #endif //#ifdef _HIGH_SECURITY_
01649
01650 #endif
01651 // \endcond
01652
01653
01654
01655
01656 // \cond internal
01657 /*****************************************************************************
01658   NLDE-DATA.indication handler
01659   Parameters: req - primitive pointer
01660   Returns:    None
01661 *****************************************************************************/
01662 extern void NWK_DataInd(NWK_DataInd_t *req);
01663
01664
01665 /*****************************************************************************
01666   NLDE-DATA.confirm handler
01667   Parameters: req - primitive pointer
01668   Returns:    None
01669 *****************************************************************************/
01670 extern void NWK_DataConf(NWK_DataConf_t *req);
01671
01672 /*****************************************************************************
01673   ZDO APSDE-DATA.indication handler
01674   Parameters: ind - primitive pointer
01675   Returns:    None
01676 *****************************************************************************/
01677 extern void APS_ZdoDataInd(APS_DataInd_t *ind);
01678 // \endcond
01679
01680 extern void APS_CalculateTimes(void);
01681
01682 #endif  //#ifndef _APS_H
01683
01684
01685 //eof aps.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: atomic.h File Reference

  • File List
  • Globals

atomic.h File Reference

The header file describes the atomic sections. More...

Go to the source code of this file.

Detailed Description

The header file describes the atomic sections.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file atomic.h.


BitCloud Stack Documentation: atomic.h Source File

  • File List
  • Globals

atomic.h

Go to the documentation of this file.
00001 /**************************************************************************/
00018 #ifndef _ATOMIC_H
00019 #define _ATOMIC_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 #if defined(AT91SAM7X256)
00025   #include <inttypes.h>
00026 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00027   #include <halAtomic.h>
00028 #endif
00029
00030 #if defined(AT91SAM7X256)
00031 /******************************************************************************
00032                    Types section
00033 ******************************************************************************/
00034 typedef  uint32_t atomic_t;
00035
00036 /******************************************************************************
00037                    Inline static functions section
00038 ******************************************************************************/
00039 /******************************************************************************
00040  Disables global interrupt. Enter atomic section.
00041 ******************************************************************************/
00042 void halStartAtomic(atomic_t volatile *pAtomic);
00043
00044 /******************************************************************************
00045  Exit atomic section
00046 ******************************************************************************/
00047 void halEndAtomic(atomic_t volatile *pAtomic);
00048 #endif
00049
00050 #if defined(AT91SAM7X256)
00051
00052   #define ATOMIC_SECTION_ENTER  {volatile atomic_t __atomic; halStartAtomic(&__atomic);
00053
00054   #define ATOMIC_SECTION_LEAVE  halEndAtomic(&__atomic);}
00055 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00056
00057   #define ATOMIC_SECTION_ENTER {atomic_t __atomic = halStartAtomic();
00058
00059   #define ATOMIC_SECTION_LEAVE halEndAtomic(__atomic);}
00060 #endif
00061
00062 #endif
00063 // eof atomic.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: buttons.h File Reference

  • File List
  • Globals

buttons.h File Reference

The header file describes the buttons interface. More...

Go to the source code of this file.

Functions

result_t | BSP_OpenButtons (void(*pressed)(uint8_t bn), void(*released)(uint8_t bn))
Registers handlers for button events.
result_t | BSP_CloseButtons (void)
Cancel buttons handlers.
uint8_t | BSP_ReadButtonsState (void)
Reads state of the buttons.

Detailed Description

The header file describes the buttons interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file buttons.h.

Function Documentation

result_t BSP_OpenButtons | ( | void(*)(uint8_t bn) | pressed,
 |  | void(*)(uint8_t bn) | released
 | ) |  |

Registers handlers for button events.

Parameters:
[in] pressed - the handler to process pressing of the button
bn - button number.
[in] released - the handler to process releasing of the button
bn - button number.
Returns:
FAIL - buttons module is busy,
SUCCESS - otherwise.

result_t BSP_CloseButtons ( void )

Cancel buttons handlers.

Returns:
FAIL - buttons module was not opened,
SUCCESS - otherwise.

uint8_t BSP_ReadButtonsState ( void )

Reads state of the buttons.

Returns:
Current buttons state in a binary way.
Bit 0 defines the state of button 1, bit 1 defines the state of button 2.


BitCloud Stack Documentation: buttons.h Source File

  • File List
  • Globals

buttons.h

Go to the documentation of this file.
00001 /***************************************************************************/
00018 #ifndef _BSPBUTTONS_H
00019 #define _BSPBUTTONS_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 // \cond
00025 #include <types.h>
00026 // \endcond
00027
00028 /******************************************************************************
00029                    Define(s) section
00030 ******************************************************************************/
00031 // \cond
00032 #define BSP_KEY0 ((uint8_t)1 << 0)
00033 #define BSP_KEY1 ((uint8_t)1 << 1)
00034 // \endcond
00035
00036 /******************************************************************************
00037                    Types section
00038 ******************************************************************************/
00039
00040 // \cond
00041 typedef void (*BSP_ButtonsEventFunc_t)(uint8_t);
00042 // \endcond
00043
00044 /******************************************************************************
00045                    Prototypes section
00046 ******************************************************************************/
00047 /**************************************************************************/
00059 result_t BSP_OpenButtons(void (*pressed)(uint8_t bn), void (*released)(uint8_t bn));
00060
00061 /**************************************************************************/
00067 result_t BSP_CloseButtons(void);
00068
00069 /**************************************************************************/
00075 uint8_t BSP_ReadButtonsState(void);
00076
00077 #endif  /* _BSPBUTTONS_H */
00078 //eof buttons.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: configServer.h File Reference

  • File List
  • Globals

configServer.h File Reference

The header file describes the public ConfigServer interface. More...

#include <types.h>

Go to the source code of this file.

Defines

#define | CS_DEVICE_TYPE DEVICE_TYPE_ROUTER
Type of device.
#define | CS_NEIB_TABLE_SIZE 7
The size of neighbour table.
#define | CS_MAX_CHILDREN_AMOUNT 6
Maximum number of children that a given device (coordinator or router) may have.
#define | CS_MAX_CHILDREN_ROUTER_AMOUNT 2
Maximum number of routers among the children of one device.
#define | CS_MAX_NETWORK_DEPTH 5
Maximum depth of a network.
#define | CS_CHANNEL_MASK 0x00010000L
Channel mask to be used by the application.
#define | CS_CHANNEL_PAGE 0
Number of channel page to be used. Ignored in the case of AT86RF230/230B/231 RF chip.
#define | CS_UID 0x0000000000000000LL
Determines the device UID.
#define | CS_EXT_PANID CS_UID
Extended PAN ID of the network to which the device should join.
#define | CS_NWK_EXT_PANID 0LL
Extended PAN ID used in commissioning feature.
#define | CS_NWK_UNIQUE_ADDR false
Determines whether or not the static addressing mode will be used.
#define | CS_NWK_ADDR 0xFFFF
Device's short address if CS_NWK_UNIQUE_ADDR=true, otherwise neglected.
#define | CS_END_DEVICE_SLEEP_PERIOD 10000L
End Device sleep period.
#define | CS_ENCRYPTION_TIME 119
Encryption time of maximum-size packet in ms. Decryption time is equal to encryption time.
#define | CS_MAX_AIR_SPEED 5
Duration of the maximum-size packet transmission.
#define | CS_PACKET_PROCESS_INSIDE 7
Duration of internal processing of the maximum-size packet (without encryption).
#define | CS_ACK_TIMEOUT (4 * ((CS_ENCRYPTION_TIME * 2) + (CS_MAX_NETWORK_DEPTH * 100)))
APS acknowledgement timeout.
#define | CS_INDIRECT_POLL_RATE (CS_ACK_TIMEOUT >> 1)
Time of polling own parent by end device.
#define | CS_RF_TX_POWER 0
#define | CS_SCAN_DURATION 0x05
#define | CS_PERMIT_DURATION 0xff
The Permit duration parameter directly affect the asscociation permit on MAC layer. 0xff means "always on", 0x00 means "always off".
#define | CS_SOFT_RESET_REASON 0
#define | CS_NWK_USE_MULTICAST false
Determines the value of nwkUseMulticast attribute in NIB.
#define | CS_COMPLEX_DESCRIPTOR_AVAILABLE false
Specifies whether a complex descriptor is available on this device.
#define | CS_USER_DESCRIPTOR_AVAILABLE false
#define | CS_DUPLICATE_REJECTION_TABLE_SIZE 5
Size of the APS Duplicate Rejection Table. According to ZigBee standard, should be not less than 1.
#define | CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT 1
Maximum amount of end points in one record in the APS Group Table.
#define | CS_APS_GROUP_TABLE_GROUPS_AMOUNT 1
Maximum amount of groups in the APS Group Table.
#define | CS_ROUTE_TABLE_SIZE 5
Maximum amount of records in the NWK Route Table.
#define | CS_ADDRESS_MAP_TABLE_SIZE 5
Maximum amount of records in the NWK Address Map Table.
#define | CS_ROUTE_DISCOVERY_TABLE_SIZE 3
Maximum amount of records in the NWK Route Discovery Table.
#define | CS_APS_TRUST_CENTER_ADDRESS 0xAAAAAAAAAAAAAAAALL
Default address of the Trust Center.
#define | CS_ZDO_SECURITY_STATUS PRECONFIGURED_NETWORK_KEY
ZDO security status.
#define | CS_NETWORK_KEY {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
Default value of the network key.

Enumerations

enum CS_ParameterId_t {
CS_NEIB_TABLE_SIZE_ID, CS_MAX_CHILDREN_AMOUNT_ID, CS_MAX_CHILDREN_ROUTER_AMOUNT_ID, CS_MAX_NETWORK_DEPTH_ID,
CS_ADDRESS_ASSIGNMENT_METHOD_ID, CS_NWK_DATA_REQ_BUFFER_SIZE_ID, CS_NWK_DATA_IND_BUFFER_SIZE_ID, CS_APS_DATA_REQ_BUFFER_SIZE_ID,
CS_APS_ACK_FRAME_BUFFER_SIZE_ID, CS_PROTOCOL_VERSION_ID, CS_STACK_PROFILE_ID, CS_SCAN_DURATION_ID,
CS_PERMIT_DURATION_ID, CS_NWK_EXT_PANID_ID, CS_EXT_PANID_ID, CS_NWK_ADDR_ID,
CS_NWK_UNIQUE_ADDR_ID, CS_CHANNEL_MASK_ID, CS_CHANNEL_PAGE_ID, CS_UID_ID,
CS_INDIRECT_POLL_RATE_ID, CS_DEVICE_TYPE_ID, CS_DUPLICATE_REJECTION_TABLE_SIZE_ID, CS_ACK_TIMEOUT_ID,
CS_MAC_FRAME_RX_BUFFER_SIZE_ID, CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT_ID, CS_APS_GROUP_TABLE_GROUPS_AMOUNT_ID, CS_END_DEVICE_SLEEP_PERIOD_ID,
CS_RX_ON_WHEN_IDLE_ID, CS_RF_TX_POWER_ID, CS_SOFT_RESET_REASON_ID, CS_NWK_USE_MULTICAST_ID,
CS_COMPLEX_DESCRIPTOR_AVAILABLE_ID, CS_USER_DESCRIPTOR_AVAILABLE_ID, CS_ROUTE_TABLE_SIZE_ID, CS_ADDRESS_MAP_TABLE_SIZE_ID,
CS_ROUTE_DISCOVERY_TABLE_SIZE_ID, CS_ROUTE_DISCOVERY_OBJ_SIZE_ID, CS_BTT_SIZE_ID, CS_NWK_MAX_LINK_STATUS_FAILURES_ID,
CS_NWK_END_DEVICE_MAX_FAILURES_ID, CS_MAC_TRANSACTION_TIME_ID, CS_DTR_WAKEUP_ID, CS_NWK_LOGICAL_CHANNEL_ID,
CS_NWK_PANID_ID, CS_MAX_FRAME_TRANSMISSION_TIME_ID, CS_ZDP_USER_DESCRIPTOR_ID, CS_NWK_PREDEFINED_PANID_ID,
CS_MANUFACTURER_CODE_ID, CS_AUTO_POLL_ID, CS_SECURITY_ON_ID, CS_NETWORK_KEY_ID,
CS_SECURITY_LEVEL_ID, CS_SECURITY_ALL_FRAMES_ID, CS_APS_SECURITY_BUFFERS_AMOUNT_ID, CS_APS_SECURITY_TIMEOUT_PERIOD_ID,
CS_APS_TRUST_CENTER_ADDRESS_ID, CS_ZDO_SECURITY_STATUS_ID, CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT_ID
}
IDs of the parameters in Config Server. More...

Functions

void | CS_ReadParameter (CS_ParameterId_t parameterId, void *parameterValue)
Reads a parameter value specified by parameter identifier from Config Server.
void | CS_WriteParameter (CS_ParameterId_t parameterId, void *parameterValue)
Writes a parameter value specified by parameter identifier to Config Server.

Detailed Description

The header file describes the public ConfigServer interface.

The file describes the public interface and parameters of Config Server. It is intended for reading/writing the stack parameters. To keep the default values unchanged, the user is recommended to redefine needed values in the application's Makefiles or via the environment variables.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file configServer.h.

Define Documentation

#define CS_DEVICE_TYPE DEVICE_TYPE_ROUTER

Type of device.

May be chosen from:
0 = DEVICE_TYPE_COORDINATOR
1 = DEVICE_TYPE_ROUTER
2 = DEVICE_TYPE_END_DEVICE

Definition at line 89 of file configServer.h.

#define CS_NEIB_TABLE_SIZE 7

The size of neighbour table.

Upper-bounds the maximum possible amount of child devices. Determines the maximum possible amount of beacons to be saved. The parameter should exceed CS_MAX_CHILDREN_AMOUNT at least by 1

Definition at line 96 of file configServer.h.

#define CS_MAX_CHILDREN_AMOUNT 6

Maximum number of children that a given device (coordinator or router) may have.

Definition at line 100 of file configServer.h.

#define CS_MAX_CHILDREN_ROUTER_AMOUNT 2

Maximum number of routers among the children of one device.

The maximum number of end devices is equal to CS_MAX_CHILDREN_AMOUNT - CS_MAX_CHILDREN_ROUTER_AMOUNT

Definition at line 105 of file configServer.h.

#define CS_MAX_NETWORK_DEPTH 5

Maximum depth of a network.

The maximum number of hops that a packet may travel is twice that large.

Definition at line 110 of file configServer.h.

#define CS_CHANNEL_MASK 0x00010000L

Channel mask to be used by the application.

Determines the channel(s) on which the device may operate

Definition at line 145 of file configServer.h.

#define CS_CHANNEL_PAGE 0

Number of channel page to be used. Ignored in the case of AT86RF230/230B/231 RF chip.

Definition at line 149 of file configServer.h.

#define CS_UID 0x0000000000000000LL

Determines the device UID.

Should be unique for each device in a network. If set to 0, the stack will use the value from the UID chip (if present).

Definition at line 157 of file configServer.h.

#define CS_EXT_PANID CS_UID

Extended PAN ID of the network to which the device should join.

For a coordinator, this is an extended PAN ID of a network to be started.

Definition at line 162 of file configServer.h.

#define CS_NWK_EXT_PANID 0LL

Extended PAN ID used in commissioning feature.

Determines the extended PAN ID of a network where a device may start without having to join.

Definition at line 167 of file configServer.h.

#define CS_NWK_UNIQUE_ADDR false

Determines whether or not the static addressing mode will be used.

If set to true, the CS_NWK_ADDR will be used as the device's short address
Otherwise, the stochastic addressing mode will be employed.

Definition at line 173 of file configServer.h.

#define CS_NWK_ADDR 0xFFFF

Device's short address if CS_NWK_UNIQUE_ADDR=true, otherwise neglected.

Definition at line 177 of file configServer.h.

#define CS_END_DEVICE_SLEEP_PERIOD 10000L

End Device sleep period.

It is used by a parent for tracking that an End Device lives. For an End Device, this parameter sets its own sleep period. For router, it should be maximum over all sleep periods in a network

Definition at line 184 of file configServer.h.

#define CS_ENCRYPTION_TIME 119

Encryption time of maximum-size packet in ms. Decryption time is equal to encryption time.

Definition at line 193 of file configServer.h.

#define CS_MAX_AIR_SPEED 5

Duration of the maximum-size packet transmission.

Definition at line 210 of file configServer.h.

#define CS_PACKET_PROCESS_INSIDE 7

Duration of internal processing of the maximum-size packet (without encryption).

Definition at line 214 of file configServer.h.

#define CS_ACK_TIMEOUT (4 * ((CS_ENCRYPTION_TIME * 2) + (CS_MAX_NETWORK_DEPTH * 100)))

APS acknowledgement timeout.

Definition at line 218 of file configServer.h.

#define CS_INDIRECT_POLL_RATE (CS_ACK_TIMEOUT >> 1)

Time of polling own parent by end device.

The parameter should be at least 2 times less than CS_ACK_TIMEOUT

Definition at line 225 of file configServer.h.

#define CS_RF_TX_POWER 0

Definition at line 230 of file configServer.h.

#define CS_SCAN_DURATION 0x05

Definition at line 233 of file configServer.h.

#define CS_PERMIT_DURATION 0xff

The Permit duration parameter directly affect the asscociation permit on MAC layer. 0xff means "always on", 0x00 means "always off".

Definition at line 238 of file configServer.h.

#define CS_SOFT_RESET_REASON 0

Definition at line 241 of file configServer.h.

#define CS_NWK_USE_MULTICAST false

Determines the value of nwkUseMulticast attribute in NIB.

Enables or disables the multicast transmission mode on NWK layer. Recommended to be set to false.

Definition at line 246 of file configServer.h.

#define CS_COMPLEX_DESCRIPTOR_AVAILABLE false

Specifies whether a complex descriptor is available on this device.

Definition at line 251 of file configServer.h.

#define CS_USER_DESCRIPTOR_AVAILABLE false

Specifies whether a user descriptor is available on this device.

Definition at line 256 of file configServer.h.

#define CS_DUPLICATE_REJECTION_TABLE_SIZE 5

Size of the APS Duplicate Rejection Table. According to ZigBee standard, should be not less than 1.

Definition at line 272 of file configServer.h.

#define CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT 1

Maximum amount of end points in one record in the APS Group Table.

Definition at line 276 of file configServer.h.

#define CS_APS_GROUP_TABLE_GROUPS_AMOUNT 1

Maximum amount of groups in the APS Group Table.

Definition at line 280 of file configServer.h.

#define CS_ROUTE_TABLE_SIZE 5

Maximum amount of records in the NWK Route Table.

Definition at line 284 of file configServer.h.

#define CS_ADDRESS_MAP_TABLE_SIZE 5

Maximum amount of records in the NWK Address Map Table.

Definition at line 288 of file configServer.h.

#define CS_ROUTE_DISCOVERY_TABLE_SIZE 3

Maximum amount of records in the NWK Route Discovery Table.

Definition at line 292 of file configServer.h.

#define CS_APS_TRUST_CENTER_ADDRESS 0xAAAAAAAAAAAAAAAALL

Default address of the Trust Center.

Definition at line 381 of file configServer.h.

#define CS_ZDO_SECURITY_STATUS PRECONFIGURED_NETWORK_KEY

ZDO security status.

May be chosen among:
0 - preconfigured network key
3 - not preconfigured.

Definition at line 388 of file configServer.h.

#define CS_NETWORK_KEY {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

Default value of the network key.

Definition at line 392 of file configServer.h.

Enumeration Type Documentation

enum CS_ParameterId_t

IDs of the parameters in Config Server.

Enumerator:
CS_NEIB_TABLE_SIZE_ID
CS_MAX_CHILDREN_AMOUNT_ID
CS_MAX_CHILDREN_ROUTER_AMOUNT_ID
CS_MAX_NETWORK_DEPTH_ID
CS_ADDRESS_ASSIGNMENT_METHOD_ID
CS_NWK_DATA_REQ_BUFFER_SIZE_ID
CS_NWK_DATA_IND_BUFFER_SIZE_ID
CS_APS_DATA_REQ_BUFFER_SIZE_ID
CS_APS_ACK_FRAME_BUFFER_SIZE_ID
CS_PROTOCOL_VERSION_ID
CS_STACK_PROFILE_ID
CS_SCAN_DURATION_ID
CS_PERMIT_DURATION_ID
CS_NWK_EXT_PANID_ID
CS_EXT_PANID_ID
CS_NWK_ADDR_ID
CS_NWK_UNIQUE_ADDR_ID
CS_CHANNEL_MASK_ID
CS_CHANNEL_PAGE_ID
CS_UID_ID
CS_INDIRECT_POLL_RATE_ID
CS_DEVICE_TYPE_ID
CS_DUPLICATE_REJECTION_TABLE_SIZE_ID
CS_ACK_TIMEOUT_ID
CS_MAC_FRAME_RX_BUFFER_SIZE_ID
CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT_ID
CS_APS_GROUP_TABLE_GROUPS_AMOUNT_ID
CS_END_DEVICE_SLEEP_PERIOD_ID
CS_RX_ON_WHEN_IDLE_ID
CS_RF_TX_POWER_ID
CS_SOFT_RESET_REASON_ID
CS_NWK_USE_MULTICAST_ID
CS_COMPLEX_DESCRIPTOR_AVAILABLE_ID
CS_USER_DESCRIPTOR_AVAILABLE_ID
CS_ROUTE_TABLE_SIZE_ID
CS_ADDRESS_MAP_TABLE_SIZE_ID
CS_ROUTE_DISCOVERY_TABLE_SIZE_ID
CS_ROUTE_DISCOVERY_OBJ_SIZE_ID
CS_BTT_SIZE_ID
CS_NWK_MAX_LINK_STATUS_FAILURES_ID
CS_NWK_END_DEVICE_MAX_FAILURES_ID
CS_MAC_TRANSACTION_TIME_ID
CS_DTR_WAKEUP_ID
CS_NWK_LOGICAL_CHANNEL_ID
CS_NWK_PANID_ID
CS_MAX_FRAME_TRANSMISSION_TIME_ID
CS_ZDP_USER_DESCRIPTOR_ID
CS_NWK_PREDEFINED_PANID_ID
CS_MANUFACTURER_CODE_ID
CS_AUTO_POLL_ID
CS_SECURITY_ON_ID
CS_NETWORK_KEY_ID
CS_SECURITY_LEVEL_ID
CS_SECURITY_ALL_FRAMES_ID
CS_APS_SECURITY_BUFFERS_AMOUNT_ID
CS_APS_SECURITY_TIMEOUT_PERIOD_ID
CS_APS_TRUST_CENTER_ADDRESS_ID
CS_ZDO_SECURITY_STATUS_ID
CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT_ID

Definition at line 459 of file configServer.h.

Function Documentation

void CS_ReadParameter | ( | CS_ParameterId_t | parameterId,
 |  | void * | parameterValue
 | ) |  |

Reads a parameter value specified by parameter identifier from Config Server.

Parameters:
[in] | parameterId | - ID of the parameter being read
[out] | parameterValue | - Value of the parameter being read

void CS_WriteParameter | ( | CS_ParameterId_t | parameterId,
 |  | void * | parameterValue
 | ) |  |

Writes a parameter value specified by parameter identifier to Config Server.

If the parameter is in persistense data server it also is saved there.

Parameters:
[in] | parameterId | - ID of the parameter being written
[in] | parameterValue | - Value of the parameter being written


BitCloud Stack Documentation: configServer.h Source File

  • File List
  • Globals

configServer.h

Go to the documentation of this file.
00001 /*************************************************************************/
00023 #ifndef _CONFIGSERVER_H
00024 #define _CONFIGSERVER_H
00025
00026 #include <types.h>
00027
00028 /*****************************************************************************
00029   Defines
00030 *****************************************************************************/
00031 #ifdef _MAC2_
00032
00033 //BOOST mode is enabled automatically only for 11, 10, 9, 8, 7, 6 dBm(s) all other power valuses do not use BOOST mode.
00035 #ifndef CS_RF_TX_POWER
00036 /* It was TX_PWR_3_0DBM. */
00037 #define CS_RF_TX_POWER                        0
00038 #endif
00039
00041 // (by default in MAC = 7680L)
00042 #ifndef CS_MAC_TRANSACTION_TIME
00043 #define CS_MAC_TRANSACTION_TIME               7680L
00044 #endif
00045
00047
00049 #ifndef CS_UID
00050 #define CS_UID                                0x0000000000000000LL
00051 #endif
00052
00054 #ifndef CS_MAX_FRAME_TRANSMISSION_TIME
00055 #define CS_MAX_FRAME_TRANSMISSION_TIME         5
00056 #endif
00057
00058 // \cond internal
00059 #define CS_FRAME_TRANSMISSION_TIME_FIELD_SIZE  3
00060 // \endcond
00061
00062 #if CS_MAX_FRAME_TRANSMISSION_TIME >= (1 << CS_FRAME_TRANSMISSION_TIME_FIELD_SIZE)
00063 #error CS_MAX_FRAME_TRANSMISSION_TIME shall be less (1 << CS_FRAME_TRANSMISSION_TIME_FIELD_SIZE)
00064 #endif
00065
00067 #ifndef CS_MAC_FRAME_RX_BUFFER_SIZE
00068 #define CS_MAC_FRAME_RX_BUFFER_SIZE            1
00069 #endif
00070
00071 #else  //_MAC2_
00072
00073 // \cond internal
00075 #ifndef CS_PROTOCOL_VERSION
00076 #define CS_PROTOCOL_VERSION                   0x02
00077 #endif
00079 #ifndef CS_STACK_PROFILE
00080 #define CS_STACK_PROFILE                      0x02
00081 #endif
00082 // \endcond
00084
00088 #ifndef CS_DEVICE_TYPE
00089 #define CS_DEVICE_TYPE                        DEVICE_TYPE_ROUTER
00090 #endif
00092
00095 #ifndef CS_NEIB_TABLE_SIZE
00096 #define CS_NEIB_TABLE_SIZE                    7
00097 #endif
00099 #ifndef CS_MAX_CHILDREN_AMOUNT
00100 #define CS_MAX_CHILDREN_AMOUNT                6
00101 #endif
00103
00104 #ifndef CS_MAX_CHILDREN_ROUTER_AMOUNT
00105 #define CS_MAX_CHILDREN_ROUTER_AMOUNT         2
00106 #endif
00108
00109 #ifndef CS_MAX_NETWORK_DEPTH
00110 #define CS_MAX_NETWORK_DEPTH                  5
00111 #endif
00112 // \cond internal
00114
00115 #ifndef CS_ADDRESS_ASSIGNMENT_METHOD
00116 #define CS_ADDRESS_ASSIGNMENT_METHOD          2
00117 #endif
00118 // \endcond
00119
00120 #ifdef AT86RF212
00121 /* Channel number range
00122   Page 0 (BPSK modulation is used and supported IEEE 802.15.4 2003/2006 )
00123     channel  0: 868 MHz      | 20 Kbit/sec
00124     channels 1 - 10: 915 MHz | 40 Kbit/sec
00125   Page 2 (O-QPSK modulation is used and supported IEEE 802.15.4 2006)
00126     channel  0: 868 MHz      | 100 Kbit/sec
00127     channels 1 - 10: 915 MHz | 250 Kbit/sec
00128
00129   BOOST mode is enabled automatically only for 11, 10, 9, 8, 7, 6 dBm. All other power values do not use BOOST mode.
00130 */
00132
00133   #ifndef CS_CHANNEL_MASK
00134     #define CS_CHANNEL_MASK                       0x00000002L
00135   #endif
00137
00138   #ifndef CS_CHANNEL_PAGE
00139     #define CS_CHANNEL_PAGE                       0
00140   #endif
00141 #else // AT86RF230/230B/231
00143
00144   #ifndef CS_CHANNEL_MASK
00145     #define CS_CHANNEL_MASK                       0x00010000L
00146   #endif
00148   #ifndef CS_CHANNEL_PAGE
00149     #define CS_CHANNEL_PAGE                       0
00150   #endif
00151 #endif
00152
00154
00156 #ifndef CS_UID
00157 #define CS_UID                                0x0000000000000000LL
00158 #endif
00160
00161 #ifndef CS_EXT_PANID
00162 #define CS_EXT_PANID                          CS_UID
00163 #endif
00165
00166 #ifndef CS_NWK_EXT_PANID
00167 #define CS_NWK_EXT_PANID                      0LL
00168 #endif
00170
00172 #ifndef CS_NWK_UNIQUE_ADDR
00173 #define CS_NWK_UNIQUE_ADDR                          false
00174 #endif
00176 #ifndef CS_NWK_ADDR
00177 #define CS_NWK_ADDR                       0xFFFF
00178 #endif
00180
00183 #ifndef CS_END_DEVICE_SLEEP_PERIOD
00184 #define CS_END_DEVICE_SLEEP_PERIOD            10000L
00185 #endif
00186
00188 #ifndef CS_ENCRYPTION_TIME
00189 #if defined(_SECURITY_)
00190   #ifdef _MAC_HW_AES_
00191     #define CS_ENCRYPTION_TIME 18     // HW encryption
00192   #else
00193     #define CS_ENCRYPTION_TIME 119    // SW encryption
00194   #endif
00195 #else
00196   #define CS_ENCRYPTION_TIME 0ul
00197 #endif
00198 #endif
00199
00200 #ifdef AT86RF212
00201 /* 20 Kbit/s    - 53.2 ms
00202  * 40 Kbit/sec  - 26.6 ms
00203  * 100 Kbit/sec - 10.64 ms
00204  * 250 Kbit/sec - 4.256 ms
00205 */
00207 #define CS_MAX_AIR_SPEED 54
00208 #else
00210 #define CS_MAX_AIR_SPEED 5
00211 #endif
00212
00214 #define CS_PACKET_PROCESS_INSIDE 7
00215
00217 #ifndef CS_ACK_TIMEOUT
00218 #define CS_ACK_TIMEOUT  (4 * ((CS_ENCRYPTION_TIME * 2) + (CS_MAX_NETWORK_DEPTH * 100)))
00219 //#define CS_ACK_TIMEOUT  (3ul * CS_MAX_NETWORK_DEPTH * (CS_MAX_AIR_SPEED + CS_PACKET_PROCESS_INSIDE + (CS_ENCRYPTION_TIME * 2)))
00220 #endif
00221
00223
00224 #ifndef CS_INDIRECT_POLL_RATE
00225 #define CS_INDIRECT_POLL_RATE                 (CS_ACK_TIMEOUT >> 1)
00226 #endif
00227 //BOOST mode is enabled automatically only for 11, 10, 9, 8, 7, 6 dBm(s) all other power valuses do not use BOOST mode.
00228 #ifndef CS_RF_TX_POWER
00229 /* It was TX_PWR_3_0DBM. */
00230 #define CS_RF_TX_POWER                        0
00231 #endif
00232 #ifndef CS_SCAN_DURATION
00233 #define CS_SCAN_DURATION                      0x05
00234 #endif
00235
00237 #ifndef CS_PERMIT_DURATION
00238 #define CS_PERMIT_DURATION                    0xff
00239 #endif
00240 #ifndef CS_SOFT_RESET_REASON
00241 #define CS_SOFT_RESET_REASON                  0
00242 #endif
00244
00245 #ifndef CS_NWK_USE_MULTICAST
00246 #define CS_NWK_USE_MULTICAST                  false
00247 #endif
00248
00250 #ifndef CS_COMPLEX_DESCRIPTOR_AVAILABLE
00251 #define CS_COMPLEX_DESCRIPTOR_AVAILABLE       false
00252 #endif
00253
00255 #ifndef CS_USER_DESCRIPTOR_AVAILABLE
00256 #define CS_USER_DESCRIPTOR_AVAILABLE          false
00257 #endif
00258
00260 #ifdef _POWER_FAILURE_
00261 #ifndef CS_POWER_FAILURE
00262 #define CS_POWER_FAILURE                      false
00263 #endif
00264 #endif
00265 // \cond
00266 // by default in MAC = 7680L
00267 #ifndef CS_MAC_TRANSACTION_TIME
00268 #define CS_MAC_TRANSACTION_TIME               (CS_END_DEVICE_SLEEP_PERIOD + (CS_INDIRECT_POLL_RATE * 3))
00269 #endif
00270 // \endcond
00272 #ifndef CS_DUPLICATE_REJECTION_TABLE_SIZE
00273 #define CS_DUPLICATE_REJECTION_TABLE_SIZE     5
00274 #endif
00276 #ifndef CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT
00277 #define CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT   1
00278 #endif
00280 #ifndef CS_APS_GROUP_TABLE_GROUPS_AMOUNT
00281 #define CS_APS_GROUP_TABLE_GROUPS_AMOUNT      1
00282 #endif
00284 #ifndef CS_ROUTE_TABLE_SIZE
00285 #define CS_ROUTE_TABLE_SIZE                   5
00286 #endif
00288 #ifndef CS_ADDRESS_MAP_TABLE_SIZE
00289 #define CS_ADDRESS_MAP_TABLE_SIZE             5
00290 #endif
00292 #ifndef CS_ROUTE_DISCOVERY_TABLE_SIZE
00293 #define CS_ROUTE_DISCOVERY_TABLE_SIZE         3
00294 #endif
00295 // \cond internal
00296 #ifndef CS_NWK_DATA_REQ_BUFFER_SIZE
00297 #define CS_NWK_DATA_REQ_BUFFER_SIZE           2
00298 #endif
00299 // Minimum value is 3
00300 #ifndef CS_NWK_DATA_IND_BUFFER_SIZE
00301 #ifdef _SECURITY_
00302 #define CS_NWK_DATA_IND_BUFFER_SIZE           4
00303 #else
00304 #define CS_NWK_DATA_IND_BUFFER_SIZE           3
00305 #endif // _SECURITY_
00306 #endif // CS_NWK_DATA_IND_BUFFER_SIZE
00307 #ifndef CS_NWK_ROUTE_DISCOVERY_OBJ_SIZE
00308 #define CS_NWK_ROUTE_DISCOVERY_OBJ_SIZE       CS_NWK_DATA_IND_BUFFER_SIZE
00309 #endif
00310
00311 #ifndef CS_NWK_BTT_SIZE
00312 #define CS_NWK_BTT_SIZE                       16
00313 #endif
00314 #if CS_NWK_BTT_SIZE < 2
00315 #error CS_NWK_BTT_SIZE shall be more 1
00316 #endif
00317
00318 #ifndef CS_APS_DATA_REQ_BUFFER_SIZE
00319 #define CS_APS_DATA_REQ_BUFFER_SIZE           2
00320 #endif
00321 #ifndef CS_APS_ACK_FRAME_BUFFER_SIZE
00322 #define CS_APS_ACK_FRAME_BUFFER_SIZE          2
00323 #endif
00324 #ifndef CS_MAC_FRAME_RX_BUFFER_SIZE
00325 #define CS_MAC_FRAME_RX_BUFFER_SIZE           1
00326 #endif
00327 #ifndef CS_APS_GROUP_TABLE_SIZEOF
00328 #define CS_APS_GROUP_TABLE_SIZEOF             (CS_APS_GROUP_TABLE_GROUPS_AMOUNT * \
00329                                               (sizeof(APS_GroupTableEntry_t) +    \
00330                                               ((CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT - 1) * sizeof(Endpoint_t))))
00331 #endif
00332 #ifndef CS_DTR_WAKEUP
00333 #define CS_DTR_WAKEUP                         false
00334 #endif
00335
00336 #ifndef CS_MAX_FRAME_TRANSMISSION_TIME
00337 #define CS_MAX_FRAME_TRANSMISSION_TIME         5
00338 #endif
00339
00340 #define CS_FRAME_TRANSMISSION_TIME_FIELD_SIZE  3
00341
00342 #if CS_MAX_FRAME_TRANSMISSION_TIME >= (1 << CS_FRAME_TRANSMISSION_TIME_FIELD_SIZE)
00343 #error CS_MAX_FRAME_TRANSMISSION_TIME shall be less (1 << CS_FRAME_TRANSMISSION_TIME_FIELD_SIZE)
00344 #endif
00345
00346 /* The router is deleted from the table of neighbours after
00347  *  CS_NWK_MAX_LINK_STATUS_FAILURES skipped link status commands */
00348 #ifndef CS_NWK_MAX_LINK_STATUS_FAILURES
00349 #define CS_NWK_MAX_LINK_STATUS_FAILURES   3
00350 #endif
00351
00352 /*  Number not received data request before being notified about child loss or
00353  *  being able to identify that neighbor has left is too long.
00354  */
00355 #ifndef CS_NWK_END_DEVICE_MAX_FAILURES
00356 #define CS_NWK_END_DEVICE_MAX_FAILURES    3
00357 #endif
00358
00359
00360 // \endcond
00361
00362 /*****************************************************************************
00363   Security related defines
00364 *****************************************************************************/
00365 // \cond internal
00366 #ifdef _SECURITY_
00367 //Turn on/off security
00368 #ifndef CS_SECURITY_ON
00369 #define CS_SECURITY_ON  true
00370 #endif
00371 //Amount of Aps Security Manager buffers
00372 /*Should be no less than 2*/
00373 #ifndef CS_APS_SECURITY_BUFFERS_AMOUNT
00374 #define CS_APS_SECURITY_BUFFERS_AMOUNT          1
00375 #endif
00376 #ifndef CS_APS_SECURITY_TIMEOUT_PERIOD
00377 #define CS_APS_SECURITY_TIMEOUT_PERIOD        (CS_ACK_TIMEOUT * 10)
00378 #endif
00379 // \endcond
00381 #ifndef CS_APS_TRUST_CENTER_ADDRESS
00382 #define CS_APS_TRUST_CENTER_ADDRESS           0xAAAAAAAAAAAAAAAALL
00383 #endif
00385
00388 #ifndef CS_ZDO_SECURITY_STATUS
00389 #define CS_ZDO_SECURITY_STATUS                PRECONFIGURED_NETWORK_KEY
00390 #endif
00392 #ifndef CS_NETWORK_KEY
00393 #define CS_NETWORK_KEY                {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
00394 #endif
00395 // \cond internal
00396 // Default security level.
00397 #ifndef CS_SECURITY_LEVEL
00398 #define CS_SECURITY_LEVEL             0x05
00399 #endif
00400 // Default nwkSecureAllFrames attribute value in NIB.
00401 #ifndef CS_SECURITY_ALL_FRAMES
00402 #define CS_SECURITY_ALL_FRAMES        true
00403 #endif
00404 #ifndef CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT
00405 #define CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT     1
00406 #endif
00407 // \endcond
00408 #ifdef _TC_PERMISSION_TABLE_
00410   #ifndef CS_MAX_TC_ALLOWED_DEVICES_AMOUNT
00411   #define CS_MAX_TC_ALLOWED_DEVICES_AMOUNT    5
00412   #endif
00413 #endif
00414 // \cond internal
00415 #ifdef _HIGH_SECURITY_
00416 //Maximum amount of Key-Pair Descriptors
00417 #ifndef CS_APS_KEY_PAIR_DESCRIPTORS_AMOUNT
00418 #define CS_APS_KEY_PAIR_DESCRIPTORS_AMOUNT  2
00419 #endif
00420 #ifndef CS_MASTER_KEY
00421 #define CS_MASTER_KEY                 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
00422 #endif
00423 #ifndef CS_LINK_KEY
00424 #define CS_LINK_KEY                   {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
00425 #endif
00426 #ifndef CS_MAX_TC_ESTABLISH_KEY_AMOUNT
00427 #define CS_MAX_TC_ESTABLISH_KEY_AMOUNT      1
00428 #endif
00429 #endif
00430 // \endcond
00431
00432 #endif
00433
00434 // \cond internal
00435
00436 #ifndef CS_NWK_PREDEFINED_PANID
00437 #define CS_NWK_PREDEFINED_PANID false
00438 #endif
00439
00440 #ifndef CS_NWK_PANID
00441 #define CS_NWK_PANID    0x1234
00442 #endif
00443
00445 #ifndef CS_MANUFACTURER_CODE
00446 #define CS_MANUFACTURER_CODE  0x100c
00447 #endif
00448
00450 #ifndef CS_AUTO_POLL
00451 #define CS_AUTO_POLL    true
00452 #endif
00453
00454 // \endcond
00455 #endif  //_MAC2_
00456
00460 typedef enum
00461 {
00462 #ifndef _MAC2_
00463   CS_NEIB_TABLE_SIZE_ID,
00464   CS_MAX_CHILDREN_AMOUNT_ID,
00465   CS_MAX_CHILDREN_ROUTER_AMOUNT_ID,
00466   CS_MAX_NETWORK_DEPTH_ID,
00467   CS_ADDRESS_ASSIGNMENT_METHOD_ID,
00468   CS_NWK_DATA_REQ_BUFFER_SIZE_ID,
00469   CS_NWK_DATA_IND_BUFFER_SIZE_ID,
00470   CS_APS_DATA_REQ_BUFFER_SIZE_ID,
00471   CS_APS_ACK_FRAME_BUFFER_SIZE_ID,
00472   CS_PROTOCOL_VERSION_ID,
00473   CS_STACK_PROFILE_ID,
00474   CS_SCAN_DURATION_ID,
00475   CS_PERMIT_DURATION_ID,
00476   CS_NWK_EXT_PANID_ID,      // eeprom
00477   CS_EXT_PANID_ID,          // eeprom
00478   CS_NWK_ADDR_ID,           // eeprom
00479   CS_NWK_UNIQUE_ADDR_ID,    // bool // eeprom
00480   CS_CHANNEL_MASK_ID,       // eeprom
00481   CS_CHANNEL_PAGE_ID,       // eeprom
00482 #endif  // _MAC2_
00483   CS_UID_ID,                // eeprom
00484 #ifndef _MAC2_
00485   CS_INDIRECT_POLL_RATE_ID,
00486   CS_DEVICE_TYPE_ID,        // eeprom
00487   CS_DUPLICATE_REJECTION_TABLE_SIZE_ID,
00488   CS_ACK_TIMEOUT_ID,
00489 #endif  // _MAC2_
00490   CS_MAC_FRAME_RX_BUFFER_SIZE_ID,
00491 #ifndef _MAC2_
00492   CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT_ID,
00493   CS_APS_GROUP_TABLE_GROUPS_AMOUNT_ID,
00494   CS_END_DEVICE_SLEEP_PERIOD_ID,
00495   CS_RX_ON_WHEN_IDLE_ID,            // eeprom
00496 #endif  // _MAC2_
00497   CS_RF_TX_POWER_ID,                // eeprom
00498 #ifndef _MAC2_
00499   CS_SOFT_RESET_REASON_ID,          // eeprom
00500   CS_NWK_USE_MULTICAST_ID,
00501   CS_COMPLEX_DESCRIPTOR_AVAILABLE_ID,
00502   CS_USER_DESCRIPTOR_AVAILABLE_ID,
00503   CS_ROUTE_TABLE_SIZE_ID,
00504   CS_ADDRESS_MAP_TABLE_SIZE_ID,
00505   CS_ROUTE_DISCOVERY_TABLE_SIZE_ID,
00506   CS_ROUTE_DISCOVERY_OBJ_SIZE_ID,
00507   CS_BTT_SIZE_ID,
00508   CS_NWK_MAX_LINK_STATUS_FAILURES_ID,
00509   CS_NWK_END_DEVICE_MAX_FAILURES_ID,
00510 #endif  // _MAC2_
00511   CS_MAC_TRANSACTION_TIME_ID,
00512 #ifndef _MAC2_
00513   CS_DTR_WAKEUP_ID,                 // eeprom
00514   CS_NWK_LOGICAL_CHANNEL_ID,        // eeprom
00515   CS_NWK_PANID_ID,                  // eeprom
00516 #endif  // _MAC2_
00517   CS_MAX_FRAME_TRANSMISSION_TIME_ID,
00518 #ifndef _MAC2_
00519   CS_ZDP_USER_DESCRIPTOR_ID,
00520   CS_NWK_PREDEFINED_PANID_ID,
00521   CS_MANUFACTURER_CODE_ID,
00522   CS_AUTO_POLL_ID,
00523 #ifdef _POWER_FAILURE_
00524   CS_POWER_FAILURE_ID,
00525 #endif
00526
00527 /***************************************************************************
00528     Security related ID's
00529 ***************************************************************************/
00530 #ifdef _SECURITY_
00531   CS_SECURITY_ON_ID,
00532   CS_NETWORK_KEY_ID,                    // eeprom
00533   CS_SECURITY_LEVEL_ID,
00534   CS_SECURITY_ALL_FRAMES_ID,
00535   CS_APS_SECURITY_BUFFERS_AMOUNT_ID,
00536   CS_APS_SECURITY_TIMEOUT_PERIOD_ID,
00537   CS_APS_TRUST_CENTER_ADDRESS_ID,
00538   CS_ZDO_SECURITY_STATUS_ID,            // eeprom
00539   CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT_ID,
00540 #ifdef _TC_PERMISSION_TABLE_
00541   CS_MAX_TC_ALLOWED_DEVICES_AMOUNT_ID,
00542 #endif
00543 #ifdef _HIGH_SECURITY_
00544   CS_APS_KEY_PAIR_DESCRIPTORS_AMOUNT_ID,
00545   CS_LINK_KEY_ID,                       // eeprom
00546   CS_MASTER_KEY_ID,                     // eeprom
00547   CS_MAX_TC_ESTABLISH_KEY_AMOUNT_ID,
00548 #endif
00549 #endif
00550 #endif // _MAC2_
00551 } CS_ParameterId_t;
00552
00553 // \cond internal
00557 typedef enum
00558 {
00559 #ifndef _MAC2_
00560   CS_NEIB_TABLE_ID,                   // eeprom
00561   CS_NWK_DATA_REQ_BUFFER_ID,
00562   CS_NWK_DATA_IND_BUFFER_ID,
00563   CS_APS_DATA_REQ_BUFFER_ID,
00564   CS_APS_ACK_FRAME_BUFFER_ID,
00565   CS_ASSOCIATE_RESPONSE_BUFFER_ID,
00566   CS_NWK_PAN_DESCRIPTOR_BUFFER_ID,
00567   CS_MAC_PAN_DESCRIPTOR_BUFFER_ID,
00568   CS_DUPLICATE_REJECTION_TABLE_ID,
00569 #endif  // _MAC2_
00570   CS_MAC_FRAME_RX_BUFFER_ID,
00571 #ifndef _MAC2_
00572   CS_APS_GROUP_TABLE_ID,            // eeprom
00573   CS_ROUTE_TABLE_ID,               // eeprom
00574   CS_ADDRESS_MAP_TABLE_ID,         // eeprom
00575   CS_ROUTE_DISCOVERY_TABLE_ID,
00576   CS_ROUTE_DISCOVERY_OBJ_ID,
00577   CS_BTT_ID,
00578   /***********************************************************************************
00579   Security related ID's
00580   *************************************************************************************/
00581 #if defined(_SECURITY_)
00582   CS_NWK_SECURITY_IB_ID,             // eeprom
00583   CS_APS_SECURITY_BUFFERS_ID,
00584   CS_TC_AUTHENTIC_PROCESS_BUFFER_ID,
00585 #ifdef _TC_PERMISSION_TABLE_
00586   CS_TC_PERMISSION_TABLE_ID,
00587 #endif
00588 #ifdef _HIGH_SECURITY_
00589   CS_APS_KEY_PAIR_DESCRIPTORS_ID,      // eeprom
00590   CS_TC_ESTABLISH_KEY_BUFFER_ID,
00591 #endif
00592 #endif
00593 #endif // _MAC2_
00594 } CS_MemoryId_t;
00595
00596 // \endcond
00597 /************************************************************************************/
00603 extern void CS_ReadParameter(CS_ParameterId_t parameterId, void *parameterValue);
00604
00605 /***********************************************************************************/
00613 extern void CS_WriteParameter(CS_ParameterId_t parameterId, void *parameterValue);
00614
00615 // \cond internal
00616 /***********************************************************************************/
00621 extern void CS_Init(void);
00622
00623 /***********************************************************************************/
00629 extern void CS_GetMemory(CS_MemoryId_t memoryId, void **memoryPtr);
00630
00631 /**************************************************************************/
00634 extern void CS_PdsDefaultValue(void);
00635 // \endcond
00636
00637 #endif  //#ifndef _CONFIGSERVER_H
00638


BitCloud Stack Documentation: eeprom.h File Reference

  • File List
  • Globals

eeprom.h File Reference

The header file describes the EEPROM interface. More...

#include <types.h>

Go to the source code of this file.

Data Structures

struct | HAL_EepromParams_t
eeprom access control structure More...

Functions

int | HAL_ReadEeprom (HAL_EepromParams_t *params, void(*readDone)())
int | HAL_WriteEeprom (HAL_EepromParams_t *params, void(*writeDone)())
bool | HAL_IsEepromBusy (void)
Checks the eeprom state.

Detailed Description

The header file describes the EEPROM interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file eeprom.h.

Function Documentation

int HAL_ReadEeprom | ( | HAL_EepromParams_t * | params,
 |  | void(*)() | readDone
 | ) |  |

int HAL_WriteEeprom | ( | HAL_EepromParams_t * | params,
 |  | void(*)() | writeDone
 | ) |  |

bool HAL_IsEepromBusy ( void )

Checks the eeprom state.

Returns:
true - eeprom is busy;
false - eeprom is free;


BitCloud Stack Documentation: eeprom.h Source File

  • File List
  • Globals

eeprom.h

Go to the documentation of this file.
00001 /****************************************************************************/
00018 #ifndef _EEPROM_H
00019 #define _EEPROM_H
00020
00021 // \cond
00022 /******************************************************************************
00023                    Includes section
00024 ******************************************************************************/
00025 #include <types.h>
00026
00027 /******************************************************************************
00028                    Define(s) section
00029 ******************************************************************************/
00030 #if defined(AT91SAM7X256)
00031   #define EEPROM_DATA_MEMORY_SIZE 0x400u
00032 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00033   #define EEPROM_DATA_MEMORY_SIZE 0x1000u
00034 #endif
00035 // \endcond
00036
00037 /******************************************************************************
00038                    Types section
00039 ******************************************************************************/
00040 /**************************************************************************/
00043 typedef struct
00044 {
00046   uint16_t address;
00048   uint8_t *data;
00050   uint16_t length;
00051 } HAL_EepromParams_t;
00052
00053 /******************************************************************************
00054                    Prototypes section
00055 ******************************************************************************/
00056 /******************************************************************************
00057 \brief Reads a number of bytes defined by HAL_EepromParams_t from the EEPROM.
00058 \param[in]
00059   param - address of HAL_EepromParams_t structure. \n
00060   fields of structure set by user: \n
00061   address - eeprom address \n
00062   data - pointer to data memory \n
00063   length - number of bytes
00064 \param[in]
00065   readDone - pointer to the function that will notify about reading completion.
00066 \return
00067   0 - success, \n
00068   -1 - the number of bytes to write is too large, \n
00069   -2 - the previous EEPROM request is not completed yet.
00070 ******************************************************************************/
00071 int HAL_ReadEeprom(HAL_EepromParams_t *params, void (*readDone)());
00072
00073 /******************************************************************************
00074 \brief Writes a number of bytes defined by HAL_EepromParams_t to EEPROM.
00075 By writeDone parameter user can control if write operation will be asynchronous
00076 or synchronous.
00077 \param[in]
00078   param - address of HAL_EepromParams_t structure. \n
00079   fields of structure set by user: \n
00080   address - eeprom address \n
00081   data - pointer to data memory \n
00082   length - number of bytes
00083 \param[in]
00084   writeDone - pointer to the function that will notify about reading completion. \n
00085   Only for avr: \n
00086   if writeDone is NULL write operation will be synchronous.
00087 \return
00088   0 - success, \n
00089   -1 - the number of bytes to write is too large, \n
00090   -2 - the previous EEPROM request is not completed yet.
00091 ******************************************************************************/
00092 int HAL_WriteEeprom(HAL_EepromParams_t *params, void (*writeDone)());
00093
00094 /**************************************************************************/
00101 bool HAL_IsEepromBusy(void);
00102
00103 #endif /*_EEPROM_H*/
00104
00105 //eof eeprom.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: i2cPacket.h File Reference

  • File List
  • Globals

i2cPacket.h File Reference

The header file describes the i2cPacket interface. More...

#include <types.h>

Go to the source code of this file.

Data Structures

struct | HAL_i2cMode_t
i2c baud rate TWI clock rate More...
struct | HAL_I2cParams_t
i2c access control structure More...

Defines

#define | HAL_I2C_PRESCALER 0ul
i2c bus prescaler

Functions

int | HAL_OpenI2cPacket (HAL_i2cMode_t *i2cMode)
Opens twi resource.
field of i2cMode structure
i2cClockRate_t clockrate (set by user). Must be chosen from:
I2C_CLOCK_RATE_250 - 250 Kb/s clock rate
I2C_CLOCK_RATE_125 - 125 Kb/s clock rate
I2C_CLOCK_RATE_62 - 62.5 Kb/s clock rate
.
int | HAL_CloseI2cPacket (void)
Closes resource.
int | HAL_WriteI2cPacket (HAL_I2cParams_t *param)
Writes a series of bytes out to the TWI bus. Operation result will be sent to the callback function of the HAL_I2cParams_t structure.
int | HAL_ReadI2cPacket (HAL_I2cParams_t *param)
Reads the series of bytes from the TWI bus. Operation result will be sent to the callback function of the HAL_I2cParams_t structure.

Detailed Description

The header file describes the i2cPacket interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file i2cPacket.h.

Define Documentation

#define HAL_I2C_PRESCALER 0ul

i2c bus prescaler

Definition at line 32 of file i2cPacket.h.

Function Documentation

int HAL_OpenI2cPacket ( HAL_i2cMode_t * i2cMode )

Opens twi resource.
field of i2cMode structure
i2cClockRate_t clockrate (set by user). Must be chosen from:
I2C_CLOCK_RATE_250 - 250 Kb/s clock rate
I2C_CLOCK_RATE_125 - 125 Kb/s clock rate
I2C_CLOCK_RATE_62 - 62.5 Kb/s clock rate
.

Parameters:
[in] i2cMode - pointer to the mode structure.
Returns:
-1 - resource was already open or pointer is NULL.
0 - success.

int HAL_CloseI2cPacket ( void )

Closes resource.

Returns:
-1 - resource was not open.
0 - success.

int HAL_WriteI2cPacket ( HAL_I2cParams_t * param )

Writes a series of bytes out to the TWI bus. Operation result will be sent to the callback function of the HAL_I2cParams_t structure.

Parameters:
[in] param - pointer to HAL_I2cParams_t structure
Returns:
0 - the bus is free and the request is accepted.
-1 - otherwise.

int HAL_ReadI2cPacket ( HAL_I2cParams_t * param )

Reads the series of bytes from the TWI bus. Operation result will be sent to the callback function of the HAL_I2cParams_t structure.

Parameters:
[in] param - pointer to HAL_I2cParams_t structure
Returns:
0 - the bus is free and the request is accepted.
-1 - otherwise.


BitCloud Stack Documentation: i2cPacket.h Source File

  • File List
  • Globals

i2cPacket.h

Go to the documentation of this file.
00001 /****************************************************************************/
00018 #ifndef _I2CPACKET_H
00019 #define _I2CPACKET_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 // \cond
00025 #include <halClkCtrl.h>
00026 #include <types.h>
00027 // \endcond
00028
00029 /******************************************************************************
00030                    Define(s) section
00031 ******************************************************************************/
00033 #define HAL_I2C_PRESCALER 0ul
00034 // \cond
00036 #if defined(AT91SAM7X256)
00037   /* AT91C_TWI_IADRSZ_NO */
00038   #define  HAL_NO_INTERNAL_ADDRESS   (0x0 << 8)
00039   /* AT91C_TWI_IADRSZ_1_BYTE */
00040   #define  HAL_ONE_BYTE_SIZE         (0x1 << 8)
00041   /* AT91C_TWI_IADRSZ_2_BYTE */
00042   #define  HAL_TWO_BYTE_SIZE         (0x2 << 8)
00043   /* AT91C_TWI_IADRSZ_3_BYTE */
00044   #define  HAL_THREE_BYTE_SIZE       (0x3 << 8)
00045 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00046   #define  HAL_NO_INTERNAL_ADDRESS   0x0
00047   #define  HAL_ONE_BYTE_SIZE         0x1
00048   #define  HAL_TWO_BYTE_SIZE         0x2
00049   #define  HAL_THREE_BYTE_SIZE       0x3
00050 #endif
00051 // \endcond
00052
00053 /******************************************************************************
00054                    Types section
00055 ******************************************************************************/
00057 #if defined(AT91SAM7X256)
00058   typedef enum
00059   {
00060     I2C_CLOCK_RATE_250 = F_CPU/(2*250000) - 3, // 200 Kb/s clock rate
00061     I2C_CLOCK_RATE_125 = F_CPU/(2*125000) - 3, // 125 Kb/s clock rate
00062     I2C_CLOCK_RATE_100 = F_CPU/(2*100000) - 3, // 100 Kb/s clock rate
00063     I2C_CLOCK_RATE_62  = F_CPU/(2*62500) - 3   // 62.5 Kb/s clock rate
00064   } I2cClockRate_t;
00065 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00066   typedef enum
00067   {
00068     I2C_CLOCK_RATE_250 = ((F_CPU/250000ul) - 16ul)/(2ul * (1ul << HAL_I2C_PRESCALER) * (1ul << HAL_I2C_PRESCALER)), // 250 Kb/s clock rate
00069     I2C_CLOCK_RATE_125 = ((F_CPU/125000ul) - 16ul)/(2ul * (1ul << HAL_I2C_PRESCALER) * (1ul << HAL_I2C_PRESCALER)), // 125 Kb/s clock rate
00070     I2C_CLOCK_RATE_62  = ((F_CPU/62500ul) - 16ul)/(2ul * (1ul << HAL_I2C_PRESCALER) * (1ul << HAL_I2C_PRESCALER))   // 62.5 Kb/s clock rate
00071   } I2cClockRate_t;
00072 #endif
00073
00075 typedef struct
00076 {
00077   I2cClockRate_t clockrate; // clock rate
00078 } HAL_i2cMode_t;
00079
00080 /**************************************************************************/
00083 typedef struct
00084 {
00086   uint8_t id;
00088   uint16_t length;
00090   uint8_t *data;
00096 #if defined(AT91SAM7X256)
00097   uint32_t lengthAddr;
00098 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00099   uint8_t lengthAddr;
00100 #endif
00101
00102   uint32_t internalAddr;
00104   void (*f)(bool result);
00105 } HAL_I2cParams_t;
00106
00107 /******************************************************************************
00108                    Prototypes section
00109 ******************************************************************************/
00110 /**************************************************************************/
00125 int HAL_OpenI2cPacket(HAL_i2cMode_t *i2cMode);
00126
00127 /**************************************************************************/
00134 int HAL_CloseI2cPacket(void);
00135
00136 /**************************************************************************/
00146 int HAL_WriteI2cPacket(HAL_I2cParams_t *param);
00147
00148 /**************************************************************************/
00158 int HAL_ReadI2cPacket(HAL_I2cParams_t *param);
00159
00160 #endif /* _I2CPACKET_H */
00161 // eof i2cPacket.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: irq.h File Reference

  • File List
  • Globals

irq.h File Reference

The header file describes the IRQ interface. More...

#include <types.h>

Go to the source code of this file.

Enumerations

enum HAL_IrqNumber_t {
IRQ_0 = 0, IRQ_1 = 1, IRQ_2 = 2, IRQ_3 = 3,
IRQ_4 = 4, IRQ_5 = 5, IRQ_6 = 6, IRQ_7 = 7
}
numbers of possible interrupt. More...
enum HAL_IrqMode_t {
IRQ_LOW_LEVEL, IRQ_HIGH_LEVEL, IRQ_ANY_EDGE, IRQ_FALLING_EDGE,
IRQ_RISING_EDGE
}
interrupt activation condition. More...

Functions

int | HAL_RegisterIrq (HAL_IrqNumber_t irqNumber, HAL_IrqMode_t irqMode, void(*f)(void))
Registers the user's irqNumber external interrupt.
int | HAL_EnableIrq (HAL_IrqNumber_t irqNumber)
int | HAL_DisableIrq (HAL_IrqNumber_t irqNumber)
int | HAL_UnregisterIrq (HAL_IrqNumber_t irqNumber)

Detailed Description

The header file describes the IRQ interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file irq.h.

Enumeration Type Documentation

enum HAL_IrqNumber_t

numbers of possible interrupt.

Enumerator:
IRQ_0 | number of valid interrupt for arm.
IRQ_1 | number of valid interrupt for arm.
IRQ_2
IRQ_3
IRQ_4
IRQ_5
IRQ_6 | number of valid interrupt for avr.
IRQ_7 | number of valid interrupt for avr.

Definition at line 30 of file irq.h.

enum HAL_IrqMode_t

interrupt activation condition.

Enumerator:
IRQ_LOW_LEVEL | The low level generates an interrupt request.
IRQ_HIGH_LEVEL | The high level generates an interrupt request (valid only for arm).
IRQ_ANY_EDGE | Any edge generates an interrupt request (valid only for avr).
IRQ_FALLING_EDGE | Falling edge generates an interrupt request.
IRQ_RISING_EDGE | Rising edge generates an interrupt request.

Definition at line 47 of file irq.h.

Function Documentation

int HAL_RegisterIrq | ( | HAL_IrqNumber_t | irqNumber,
 |  | HAL_IrqMode_t | irqMode,
 |  | void(*)(void) | f
 | ) |  |

Registers the user's irqNumber external interrupt.

Parameters:
[in] irqNumber - IRQ number. Must be chosen from:
IRQ_0 (for arm)
IRQ_1 (for arm)
IRQ_6 (for avr)
IRQ_7 (for avr)
[in] irqMode - Controls the sort of interrupt. Must be chosen from:
IRQ_LOW_LEVEL // The low level generates an interrupt request.
IRQ_HIGH_LEVEL // The high level generates an interrupt request (valid only for arm).
IRQ_ANY_EDGE // Any edge generates an interrupt request (valid only for avr).
IRQ_FALLING_EDGE // Falling edge generates an interrupt request.
IRQ_RISING_EDGE // Rising edge generates an interrupt request.
[in] f - user's interrupt handler. Handler must be executed less than 100 us.
Returns:
-1 - if irqNumber is out of range,
not valid irq mode,
such interrupt has been already registered.
0 - otherwise.

int HAL_EnableIrq ( HAL_IrqNumber_t irqNumber )

int HAL_DisableIrq ( HAL_IrqNumber_t irqNumber )

int HAL_UnregisterIrq ( HAL_IrqNumber_t irqNumber )


BitCloud Stack Documentation: irq.h Source File

  • File List
  • Globals

irq.h

Go to the documentation of this file.
00001 /****************************************************************************/
00018 #ifndef _IRQ_H
00019 #define _IRQ_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 #include <types.h>
00025
00026 /******************************************************************************
00027                    Types section
00028 ******************************************************************************/
00030 typedef enum
00031 {
00033   IRQ_0 = 0,
00035   IRQ_1 = 1,
00036   IRQ_2 = 2,
00037   IRQ_3 = 3,
00038   IRQ_4 = 4,
00039   IRQ_5 = 5,
00041   IRQ_6 = 6,
00043   IRQ_7 = 7
00044 } HAL_IrqNumber_t;
00045
00047 typedef enum
00048 {
00050   IRQ_LOW_LEVEL,
00052   IRQ_HIGH_LEVEL,
00054   IRQ_ANY_EDGE,
00056   IRQ_FALLING_EDGE,
00058   IRQ_RISING_EDGE
00059 } HAL_IrqMode_t;
00060
00061 /******************************************************************************
00062                    Prototypes section
00063 ******************************************************************************/
00064 /**************************************************************************/
00088 int HAL_RegisterIrq(HAL_IrqNumber_t irqNumber, HAL_IrqMode_t irqMode, void (*f)(void));
00089
00090 /******************************************************************************
00091 \brief Enables the irqNumber interrupt
00092 \param[in]
00093    irqNumber - IRQ number
00094 \return
00095    -1 - if irqNumber is out of range or has not been registered yet. \n
00096     0 - otherwise.
00097 ******************************************************************************/
00098 int HAL_EnableIrq(HAL_IrqNumber_t irqNumber);
00099
00100 /******************************************************************************
00101 \brief Disables the irqNumber interrupt
00102 \param[in]
00103    irqNumber - IRQ number
00104 \return
00105    -1 - if irqNumber is out of range or has not been registered yet. \n
00106     0 - otherwise.
00107 ******************************************************************************/
00108 int HAL_DisableIrq(HAL_IrqNumber_t irqNumber);
00109
00110 /******************************************************************************
00111 \brief Unregisters the user's irqNumber interrupt
00112 \param[in]
00113    irqNumber - IRQ number
00114 \return
00115    -1 - if irqNumber is out of range or has not been registered yet. \n
00116     0 - otherwise.
00117 ******************************************************************************/
00118 int HAL_UnregisterIrq(HAL_IrqNumber_t irqNumber);
00119
00120 #endif /* _IRQ_H */
00121 //eof irq.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: leds.h File Reference

  • File List
  • Globals

leds.h File Reference

The header file describes the leds interface. More...

Go to the source code of this file.

Defines

#define | LED_FIRST 0
#define | LED_SECOND 1
#define | LED_THIRD 2
#define | LED_FOURTH 3
#define | LED_FIFTH 4
#define | LED_SIXTH 5
#define | LED_SEVENTH 6
#define | LED_EIGHTH 7
#define | LED_RED LED_FIRST
#define | LED_YELLOW LED_SECOND
#define | LED_GREEN LED_THIRD
#define | LED_BLUE LED_FOURTH

Functions

result_t | BSP_OpenLeds (void)
Opens leds module to use.
result_t | BSP_CloseLeds (void)
Closes leds module.
void | BSP_OnLed (uint8_t id)
Turns on a led.
void | BSP_OffLed (uint8_t id)
Turns off a led.
void | BSP_ToggleLed (uint8_t id)
Switches the led state to the opposite.

Detailed Description

The header file describes the leds interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file leds.h.

Define Documentation

#define LED_FIRST 0

Definition at line 30 of file leds.h.

#define LED_SECOND 1

Definition at line 31 of file leds.h.

#define LED_THIRD 2

Definition at line 32 of file leds.h.

#define LED_FOURTH 3

Definition at line 33 of file leds.h.

#define LED_FIFTH 4

Definition at line 34 of file leds.h.

#define LED_SIXTH 5

Definition at line 35 of file leds.h.

#define LED_SEVENTH 6

Definition at line 36 of file leds.h.

#define LED_EIGHTH 7

Definition at line 37 of file leds.h.

#define LED_RED LED_FIRST

Definition at line 38 of file leds.h.

#define LED_YELLOW LED_SECOND

Definition at line 39 of file leds.h.

#define LED_GREEN LED_THIRD

Definition at line 40 of file leds.h.

#define LED_BLUE LED_FOURTH

Definition at line 41 of file leds.h.

Function Documentation

result_t BSP_OpenLeds ( void )

Opens leds module to use.

Returns:
SUCCESS - always.

result_t BSP_CloseLeds ( void )

Closes leds module.

Returns:
SUCCESS - always.

void BSP_OnLed ( uint8_t id )

Turns on a led.

Parameters:
[in] id - number of the led to proceed. Must be chosen from defines.

void BSP_OffLed ( uint8_t id )

Turns off a led.

Parameters:
[in] id - number of the led to proceed. Must be chosen from defines.

void BSP_ToggleLed ( uint8_t id )

Switches the led state to the opposite.

Parameters:
[in] id - number of the led to proceed. Must be chosen from defines.


BitCloud Stack Documentation: leds.h Source File

  • File List
  • Globals

leds.h

Go to the documentation of this file.
00001 /************************************************************/
00018 #ifndef _LEDS_H
00019 #define _LEDS_H
00020
00021 /****************************************************************
00022                    Includes section
00023 *****************************************************************/
00024 // \cond
00025 #include <types.h>
00026 // \endcond
00027
00028 /****************************************************************
00029                    Define(s) section
00030 *****************************************************************/
00031 #define LED_FIRST     0
00032 #define LED_SECOND    1
00033 #define LED_THIRD     2
00034 #define LED_FOURTH    3
00035 #define LED_FIFTH     4
00036 #define LED_SIXTH     5
00037 #define LED_SEVENTH   6
00038 #define LED_EIGHTH    7
00039 #define LED_RED       LED_FIRST
00040 #define LED_YELLOW    LED_SECOND
00041 #define LED_GREEN     LED_THIRD
00042 #define LED_BLUE      LED_FOURTH
00043
00044 /****************************************************************
00045                    Prototypes section
00046 *****************************************************************/
00047 /************************************************************/
00052 result_t BSP_OpenLeds(void);
00053
00054 /************************************************************/
00059 result_t BSP_CloseLeds(void);
00060
00061 /************************************************************/
00066 void BSP_OnLed(uint8_t id);
00067
00068 /************************************************************/
00073 void BSP_OffLed(uint8_t id);
00074
00075 /************************************************************/
00080 void BSP_ToggleLed(uint8_t id);
00081
00082 #endif /* _LEDS_H */
00083 // eof leds.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: pdsDataServer.h File Reference

  • File List
  • Globals

pdsDataServer.h File Reference

The header file describes the Persistence Data Server interface. More...

#include <configServer.h>

Go to the source code of this file.

Enumerations

enum PDS_DataServerState_t {
PDS_SUCCESS, PDS_EEPROM_ERROR, PDS_CRC_ERROR, PDS_INVALID_REQUEST,
PDS_EEPROM_BUSY
}
PDS state result after a command call. More...

Functions

PDS_DataServerState_t | PDS_SetToDefault (void)
Writes default values of parameters to EEPROM.
void | PDS_FlushData (void)
Must be called only from APL_TaskHandler() function.
Function forces writing data from config server to eeprom. After return from function all Config Server data are stored into EEPROM.
PDS_DataServerState_t | PDS_ReadUserData (uint16_t offset, uint8_t *data, uint16_t length, void(*callback)(void))
Must be called only from APL_TaskHandler() function.
Reads data from user area of EEPROM.
PDS_DataServerState_t | PDS_WriteUserData (uint16_t offset, uint8_t *data, uint16_t length, void(*callback)(void))
Must be called only from APL_TaskHandler() function.
Writes data to user area of EEPROM.

Detailed Description

The header file describes the Persistence Data Server interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file pdsDataServer.h.

Enumeration Type Documentation

enum PDS_DataServerState_t

PDS state result after a command call.

Enumerator:
PDS_SUCCESS
  • Command completed successfully
PDS_EEPROM_ERROR
  • EEPROM error occured
PDS_CRC_ERROR
  • Wrong CRC
PDS_INVALID_REQUEST
  • Some parameters are wrong
PDS_EEPROM_BUSY
  • EEPROM is busy

Definition at line 30 of file pdsDataServer.h.

Function Documentation

PDS_DataServerState_t PDS_SetToDefault ( void )

Writes default values of parameters to EEPROM.

Returns:
- PDS state as a result of setting parameters to default state

void PDS_FlushData ( void )

Must be called only from APL_TaskHandler() function.
Function forces writing data from config server to eeprom. After return from function all Config Server data are stored into EEPROM.

PDS_DataServerState_t PDS_ReadUserData | ( | uint16_t | offset,
 |  | uint8_t * | data,
 |  | uint16_t | length,
 |  | void(*)(void) | callback
 | ) |  |

Must be called only from APL_TaskHandler() function.
Reads data from user area of EEPROM.

Parameters:
[in] | offset | - data offset
[in] | data | - pointer to user data area
[in] | length | - data length
[in] | callback | - callback method. If callback is NULL, then data will be read syncronous.
Returns:
- PDS state as a result of data reading operation

PDS_DataServerState_t PDS_WriteUserData | ( | uint16_t | offset,
 |  | uint8_t * | data,
 |  | uint16_t | length,
 |  | void(*)(void) | callback
 | ) |  |

Must be called only from APL_TaskHandler() function.
Writes data to user area of EEPROM.

Parameters:
[in] | offset | - data offset
[in] | data | - pointer to user data area
[in] | length | - data length
[in] | callback | - callback method. If callback is NULL, then data will be write syncronous.
Returns:
- PDS state as a result of data writing operation


BitCloud Stack Documentation: pdsDataServer.h Source File

  • File List
  • Globals

pdsDataServer.h

Go to the documentation of this file.
00001 /***************************************************************************/
00018 #ifndef _PERSISTDATASERVER_H
00019 #define _PERSISTDATASERVER_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 #include <configServer.h>
00025
00026 /******************************************************************************
00027                    Types section
00028 ******************************************************************************/
00030 typedef enum
00031 {
00032   PDS_SUCCESS,
00033   PDS_EEPROM_ERROR,
00034   PDS_CRC_ERROR,
00035   PDS_INVALID_REQUEST,
00036   PDS_EEPROM_BUSY
00037 } PDS_DataServerState_t;
00038
00040 /***************************************************************************/
00049 PDS_DataServerState_t PDS_Init(void);
00051
00052 /*****************************************************************************/
00057 PDS_DataServerState_t PDS_SetToDefault(void);
00058
00059 /***************************************************************************/
00064 void PDS_FlushData(void);
00065
00066 /*****************************************************************************/
00077 PDS_DataServerState_t PDS_ReadUserData(uint16_t offset, uint8_t *data, uint16_t length, void (*callback)(void));
00078
00079 /****************************************************************************/
00090 PDS_DataServerState_t PDS_WriteUserData(uint16_t offset, uint8_t *data, uint16_t length, void (*callback)(void));
00091
00092 #endif  //#ifndef _PERSISTDATASERVER_H
00093


BitCloud Stack Documentation: resetReason.h File Reference

  • File List
  • Globals

resetReason.h File Reference

The header file describes the the reset reason interface. More...

Go to the source code of this file.

Functions

HAL_ResetReason_t | HAL_ReadResetReason (void)
The reset reason types.
void | HAL_WarmReset (void)
Software reset.

Detailed Description

The header file describes the the reset reason interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file resetReason.h.

Function Documentation

HAL_ResetReason_t HAL_ReadResetReason ( void )

The reset reason types.

void HAL_WarmReset ( void )

Software reset.


BitCloud Stack Documentation: resetReason.h Source File

  • File List
  • Globals

resetReason.h

Go to the documentation of this file.
00001 /****************************************************************************/
00018 #ifndef _RESETREASON_H
00019 #define _RESETREASON_H
00020
00021 // \cond
00022 /******************************************************************************
00023                    Define(s) section
00024 ******************************************************************************/
00025 #define TEMP_WARM_RESET   0x12
00026 // \endcond
00027
00028 /******************************************************************************
00029                    Types section
00030 ******************************************************************************/
00032 #if defined(AT91SAM7X256)
00033   typedef enum
00034   {
00036     POWER_ON_RESET   = 0x00,
00038     WDT_RESET        = 0x02,
00040     WARM_RESET       = 0x03,
00042     EXTERNAL_RESET   = 0x04,
00044     BROWN_OUT_RESET  = 0x05,
00046     UNKNOWN_RESET    = 0x07
00047   } HAL_ResetReason_t;
00048 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00049   typedef enum
00050   {
00052     NULL_PTR_DEREF_RESET = 0x0,
00054     POWER_ON_RESET       = 0x1,
00056     EXTERNAL_RESET       = 0x2,
00058     BROWN_OUT_RESET      = 0x4,
00060     WDT_RESET            = 0x8,
00062     JTAG_RESET           = 0x10,
00064     WARM_RESET           = 0x11
00065   } HAL_ResetReason_t;
00066 #endif
00067
00068 /******************************************************************************
00069                    Prototypes section
00070 ******************************************************************************/
00071 /******************************************************************************
00072 Returns the reset reason.
00073 Parameters:
00074   none.
00075 Returns:
00076   The reason of reset.
00077
00078 \brief Returns the reset reason.
00079
00080 \return
00081   The reason of reset.
00082 ******************************************************************************/
00083 HAL_ResetReason_t HAL_ReadResetReason(void);
00084
00085 /**************************************************************************/
00088 void HAL_WarmReset(void);
00089
00090 #endif /*_RESETREASON_H*/
00091 // resetReason.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: sensors.h File Reference

  • File List
  • Globals

sensors.h File Reference

The header file describes the sensors interface. More...

Go to the source code of this file.

Functions

result_t | BSP_OpenTemperatureSensor (void)
Opens temperature sensor.
result_t | BSP_CloseTemperatureSensor (void)
Closes the temperature sensor.
result_t | BSP_ReadTemperatureData (void(*f)(bool result, int16_t data))
Reads data from the temperature sensor.
result_t | BSP_OpenLightSensor (void)
Opens the light sensor.
result_t | BSP_CloseLightSensor (void)
Closes the light sensor.
result_t | BSP_ReadLightData (void(*f)(bool result, int16_t data))
Reads data from the light sensor.
result_t | BSP_OpenBatterySensor (void)
Opens the battery sensor.
result_t | BSP_CloseBatterySensor (void)
Closes the battery sensor.
result_t | BSP_ReadBatteryData (void(*callback)(uint8_t data))
Reads data from battery sensor.

Detailed Description

The header file describes the sensors interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file sensors.h.

Function Documentation

result_t BSP_OpenTemperatureSensor ( void )

Opens temperature sensor.

Returns:
FAIL - sensor has been already open.
SUCCESS - otherwise.

result_t BSP_CloseTemperatureSensor ( void )

Closes the temperature sensor.

Returns:
FAIL - if a hardware error has occured or there is uncompleted ReadData request.
SUCCESS - otherwise.

result_t BSP_ReadTemperatureData ( void(*)(bool result, int16_t data) f )

Reads data from the temperature sensor.

Parameters:
[in] f - callback. result - the result of the requested operation. true - operation finished successfully, false - some error has occured. data - sensor data.
Returns:
FAIL - previous request was not completed.
SUCCESS - otherwise.

result_t BSP_OpenLightSensor ( void )

Opens the light sensor.

Returns:
FAIL - sensor has been already open.
SUCCESS - otherwise.

result_t BSP_CloseLightSensor ( void )

Closes the light sensor.

Returns:
FAIL - if a hardware error has occured or there is uncompleted ReadData request.
SUCCESS - otherwise.

result_t BSP_ReadLightData ( void(*)(bool result, int16_t data) f )

Reads data from the light sensor.

Parameters:
[in] f - callback. result - the result of the requested operation. true - operation finished successfully, false - some error has occured. data - sensor data.
Returns:
FAIL - previous request was not completed.
SUCCESS - otherwise.

result_t BSP_OpenBatterySensor ( void )

Opens the battery sensor.

Returns:
FAIL - sensor has been already open.
SUCCESS - otherwise.

result_t BSP_CloseBatterySensor ( void )

Closes the battery sensor.

Returns:
FAIL - sensor was not opened.
SUCCESS - otherwise.

result_t BSP_ReadBatteryData ( void(*)(uint8_t data) callback )

Reads data from battery sensor.

Parameters:
[in] callback - callback function. data - sensor data. Can use (4ul * data * 125ul * 3ul) / (1024ul * 100ul) formula to count
battery data in Volts (for avr).
Returns:
FAIL - previous request was not completed, or sensor was not opened.
SUCCESS - otherwise.


BitCloud Stack Documentation: sensors.h Source File

  • File List
  • Globals

sensors.h

Go to the documentation of this file.
00001 /**************************************************************************/
00018 #ifndef _SENSORS_H
00019 #define _SENSORS_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 // \cond
00025 #include <types.h>
00026 // \endcond
00027
00028 /******************************************************************************
00029                    Define(s) section
00030 ******************************************************************************/
00031 // \cond
00032 #define SENSOR_LIGHT       1
00033 #define SENSOR_TEMPERATURE 2
00034 #define SENSOR_BATTERY     3
00035 #define SENSOR_LED         4
00036 // \endcond
00037
00038 /******************************************************************************
00039                    Prototypes section
00040 ******************************************************************************/
00041 /***************************************************************************/
00047 result_t BSP_OpenTemperatureSensor(void);
00048
00049 /***************************************************************************/
00056 result_t BSP_CloseTemperatureSensor(void);
00057
00058 /**************************************************************************/
00070 result_t BSP_ReadTemperatureData(void (*f)(bool result, int16_t data));
00071
00072 /***************************************************************************/
00078 result_t BSP_OpenLightSensor(void);
00079
00080 /***************************************************************************/
00087 result_t BSP_CloseLightSensor(void);
00088
00089 /**************************************************************************/
00101 result_t BSP_ReadLightData(void (*f)(bool result, int16_t data));
00102
00103 /***************************************************************************/
00109 result_t BSP_OpenBatterySensor(void);
00110
00111 /***************************************************************************/
00117 result_t BSP_CloseBatterySensor(void);
00118
00119 /**************************************************************************/
00130 result_t BSP_ReadBatteryData(void (*callback)(uint8_t data));
00131
00132 #endif/* _SENSORS_H */
00133 // eof sensors.h
00134


BitCloud Stack Documentation: sleepTimer.h File Reference

  • File List
  • Globals

sleepTimer.h File Reference

The header file describes the sleepTimer interface. More...

Go to the source code of this file.

Typedefs

typedef Timer_t | HAL_SleepTimer_t
fields of structure
uint32_t interval - timer firing interval (set by user)
TimerMode_t mode - timer work mode (set by user). Must be chosen from:
TIMER_REPEAT_MODE
TIMER_ONE_SHOT_MODE
void (*callback)() - pointer to the timer callback function (set by user)

Functions

uint32_t | HAL_ConvertToSleepInterval (uint32_t interval)
Converts an interval from milliseconds to sleep timer ticks.
int | HAL_StartSleepTimer (HAL_SleepTimer_t *sleepTimer)
Starts sleep timer.
int | HAL_StopSleepTimer (HAL_SleepTimer_t *sleepTimer)
Removes timer.

Detailed Description

The header file describes the sleepTimer interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file sleepTimer.h.

Typedef Documentation

typedef Timer_t HAL_SleepTimer_t

fields of structure
uint32_t interval - timer firing interval (set by user)
TimerMode_t mode - timer work mode (set by user). Must be chosen from:
TIMER_REPEAT_MODE
TIMER_ONE_SHOT_MODE
void (*callback)() - pointer to the timer callback function (set by user)

Definition at line 29 of file sleepTimer.h.

Function Documentation

uint32_t HAL_ConvertToSleepInterval ( uint32_t interval )

Converts an interval from milliseconds to sleep timer ticks.

Parameters:
[in] interval - interval in milliseconds.
Returns:
interval in sleep timer ticks.

int HAL_StartSleepTimer ( HAL_SleepTimer_t * sleepTimer )

Starts sleep timer.

Parameters:
[in] sleepTimer - pointer to sleep timer structure.
Returns:
-1 - bad interval.
0 - otherwise.

int HAL_StopSleepTimer ( HAL_SleepTimer_t * sleepTimer )

Removes timer.

Parameters:
[in] sleepTimer - address of the timer to be removed from the list
Returns:
-1 - there is no such timer in the list.
0 - otherwise.


BitCloud Stack Documentation: sleepTimer.h Source File

  • File List
  • Globals

sleepTimer.h

Go to the documentation of this file.
00001 /****************************************************************************/
00017 #ifndef _SLEEPTIMER_H
00018 #define _SLEEPTIMER_H
00019
00020 // \cond
00021 #include <mnHalTimer.h>
00022 // \endcond
00023
00030 typedef Timer_t HAL_SleepTimer_t;
00031
00032 /**************************************************************************/
00039 uint32_t HAL_ConvertToSleepInterval(uint32_t interval);
00040
00041 /**************************************************************************/
00049 int HAL_StartSleepTimer(HAL_SleepTimer_t *sleepTimer);
00050
00051 /**************************************************************************/
00059 int HAL_StopSleepTimer(HAL_SleepTimer_t *sleepTimer);
00060
00061 #endif /* _SLEEPTIMER_H */
00062 // eof sleepTimer.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: sliders.h File Reference

  • File List
  • Globals

sliders.h File Reference

The header file describes the sliders interface. More...

Go to the source code of this file.

Defines

#define | SLIDER0 (1 << 0)
#define | SLIDER1 (1 << 1)
#define | SLIDER2 (1 << 2)
#define | SLIDER3 (1 << 3)

Functions

uint8_t | BSP_ReadSliders (void)
Reads the sliders.

Detailed Description

The header file describes the sliders interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file sliders.h.

Define Documentation

#define SLIDER0 (1 << 0)

Definition at line 24 of file sliders.h.

#define SLIDER1 (1 << 1)

Definition at line 25 of file sliders.h.

#define SLIDER2 (1 << 2)

Definition at line 26 of file sliders.h.

#define SLIDER3 (1 << 3)

Definition at line 27 of file sliders.h.

Function Documentation

uint8_t BSP_ReadSliders ( void )

Reads the sliders.

Returns:
State of onboard DIP switches. Use the SLIDER0, SLIDER1, SLIDER2, SLIDER3 constants to check state. Bit value 1 indicates that the corresponding slider is on.
Note that the SLIDER3 is available on MeshBean LAN and Turbo board only.


BitCloud Stack Documentation: sliders.h Source File

  • File List
  • Globals

sliders.h

Go to the documentation of this file.
00001 /**************************************************************************/
00018 #ifndef _SLIDERS_H
00019 #define _SLIDERS_H
00020
00021 /******************************************************************************
00022                    Define(s) section
00023 ******************************************************************************/
00024 #define SLIDER0 (1 << 0)
00025 #define SLIDER1 (1 << 1)
00026 #define SLIDER2 (1 << 2)
00027 #define SLIDER3 (1 << 3)
00028
00029 /******************************************************************************
00030                    Prototypes section
00031 ******************************************************************************/
00032 /**************************************************************************/
00040 uint8_t BSP_ReadSliders(void);
00041
00042 #endif /* _SLIDERS_H */
00043 // eof sliders.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: spi.h File Reference

  • File List
  • Globals

spi.h File Reference

The header file describes the USART SPI mode (for avr) and SPI1 bus (for arm), hardware-independent module. More...

Go to the source code of this file.

Functions

int | HAL_OpenSpi (HAL_SpiMode_t *spiMode, void(*callback)())
Opens USART in MSPI mode(for avr) or opens SPI1(for arm).
fields of HAL_SpiMode_t structure:
.
int | HAL_CloseSpi (void)
Releases the channel and pins.
int | HAL_WriteSpi (uint8_t *buffer, uint8_t length)
Writes a number of bytes to the SPI.
Callback function will be used to notify when the transmission is finished.
The data read are placed to the buffer.

Detailed Description

The header file describes the USART SPI mode (for avr) and SPI1 bus (for arm), hardware-independent module.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file spi.h.

Function Documentation

int HAL_OpenSpi | ( | HAL_SpiMode_t * | spiMode,
 |  | void(*)() | callback
 | ) |  |

Opens USART in MSPI mode(for avr) or opens SPI1(for arm).
fields of HAL_SpiMode_t structure:
.

SpiClockMode_t clockMode - spi clock mode (set by user). Must be chosen from:
SPI_CLOCK_MODE0
SPI_CLOCK_MODE1
SPI_CLOCK_MODE2
SPI_CLOCK_MODE3

parameters valid only for avr:

SpiDataOrder_t dataOrder - spi data order (set by user). Must be chosen from:
SPI_DATA_MSB_FIRST
SPI_DATA_LSB_FIRST
SpiBaudRate_t baudRate - spi clock rate (set by user). Must be chosen from:
SPI_CLOCK_RATE_62
SPI_CLOCK_RATE_125
SPI_CLOCK_RATE_250
SPI_CLOCK_RATE_500

parameters valid only for arm:

uint8_t csName - select CS signal (set by user). Must be set:
CS2
uint32_t pack_parameterCs - list of time parameter.
Must be use macros HAL_SPI_PACK_PARAMETER(freq_value, valid_delay_value, cons_delay_value).
Where is:
freq_value - spi frequency (Hz)
valid_delay_value - delay between setting CS and clock start (sec)
cons_delay_value - delay between consecutive transfers (sec)

Parameters:
[in] spiMode - SPI parametrs (see above).
[in] callback - address of the function to notify the application when a transmission was completed. When the synchronous method is used, callback must be NULL (only for avr).
Returns:
-1 - there are no free resources.
0 - SPI channel is ready.

int HAL_CloseSpi ( void )

Releases the channel and pins.

Returns:
Returns 0 on success or -1 if channel was not opened.

int HAL_WriteSpi | ( | uint8_t * | buffer,
 |  | uint8_t | length
 | ) |  |

Writes a number of bytes to the SPI.
Callback function will be used to notify when the transmission is finished.
The data read are placed to the buffer.

Parameters:
[in] | buffer | - pointer to the application data buffer
[in] | length | - number of bytes to transfer
Returns:
-1 - spi module was not opened, or there is unsent data, or the pointer to data or the length are NULL;
0 - success;
Number of written bytes - success (synchronous mode (only for avr)).


BitCloud Stack Documentation: spi.h Source File

  • File List
  • Globals

spi.h

Go to the documentation of this file.
00001 /****************************************************************************/
00019 #ifndef _SPI_H
00020 #define _SPI_H
00021
00022 /******************************************************************************
00023                    Includes section
00024 ******************************************************************************/
00025 #if defined(AT91SAM7X256)
00026   #include <halMemSpi.h>
00027 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00028   #include <halSpi.h>
00029 #endif
00030
00031 /**************************************************************************/
00073 int HAL_OpenSpi(HAL_SpiMode_t *spiMode, void (*callback)());
00074
00075 /**************************************************************************/
00080 int HAL_CloseSpi(void);
00081
00082 /**************************************************************************/
00096 int HAL_WriteSpi(uint8_t *buffer, uint8_t length);
00097
00098 #endif /* _SPI_H */
00099 // eof spi.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: taskManager.h File Reference

  • File List
  • Globals

taskManager.h File Reference

The header file describes the public stack Task Manager interface, task handlers and tasks IDs of Task Manager. More...

#include <inttypes.h>
#include <types.h>
#include <atomic.h>

Go to the source code of this file.

Functions

void | APL_TaskHandler (void)
INLINE void | SYS_PostTask (SYS_TaskId_t taskId)
Posts task to the stack Task Manager.

Detailed Description

The header file describes the public stack Task Manager interface, task handlers and tasks IDs of Task Manager.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file taskManager.h.

Function Documentation

void APL_TaskHandler ( void )

This function is called for processing user application task. Should be defined in user application. Its very first call is intended just for setting parameters into the stack. For starting a network a new task should be posted.

INLINE void SYS_PostTask ( SYS_TaskId_t taskId )

Posts task to the stack Task Manager.

Parameters:
[in] taskId - ID of the posted task. An application has APL_TASK_ID.

Definition at line 93 of file taskManager.h.


BitCloud Stack Documentation: taskManager.h Source File

  • File List
  • Globals

taskManager.h

Go to the documentation of this file.
00001 /*************************************************************************/
00021 #ifndef _TASKMANAGER_H
00022 #define _TASKMANAGER_H
00023 #include <inttypes.h>
00024 #include <types.h>
00025 #include <atomic.h>
00026
00027 // \cond internal
00029 typedef enum
00030 {
00031   MAC_PHY_HWD_TASK_ID = 1 << 0,
00032   HAL_TASK_ID         = 1 << 1,
00033   MAC_HWI_TASK_ID     = 1 << 2,
00034   NWK_TASK_ID         = 1 << 3,
00035   ZDO_TASK_ID         = 1 << 4,
00036   APS_TASK_ID         = 1 << 5,
00037   SSP_TASK_ID         = 1 << 6,
00038   TC_TASK_ID          = 1 << 7,
00039   BSP_TASK_ID         = 1 << 8,
00040   APL_TASK_ID         = 1 << 9,
00041   ZSE_TASK_ID         = 1 << 0xA,
00042 } SYS_TaskId_t;
00043 // \endcond
00044
00049 extern void APL_TaskHandler(void);
00050 // \cond internal
00052 extern void HAL_TaskHandler(void);
00054 extern void BSP_TaskHandler(void);
00056 extern void MAC_PHY_HWD_TaskHandler(void);
00058 extern void MAC_HWI_TaskHandler(void);
00060 extern void NWK_TaskHandler(void);
00062 extern void ZDO_TaskHandler(void);
00064 extern void APS_TaskHandler(void);
00066 extern void SSP_TaskHandler(void);
00068 extern void TC_TaskHandler(void);
00070 extern void ZSE_TaskHandler(void);
00071
00072 extern volatile uint16_t SYS_taskFlag;
00073 // \endcond
00074
00075 /**************************************************************************************/
00080 /*
00081 IDs of the tasks are listed in the SYS_TaskId enum. Each task has its own priority and is called
00082 only if there is no any task with higher priority. A handler is called when respective task can be run.
00083 Each task has its own task handler. Correspondence between tasks and handlers is listed below:  \n
00084 HAL - HAL_TaskHandler()                 \n
00085 BSP - BSP_TaskHandler()                 \n
00086 MAC_PHY_HWD - MAC_PHY_HWD_TaskHandler() \n
00087 MAC_HWI - MAC_HWI_TaskHandler()         \n
00088 NWK - NWK_TaskHandler()                 \n
00089 ZDO - ZDO_TaskHandler()                 \n
00090 APS - APS_TaskHandler()                 \n
00091 APL - APL_TaskHandler()                 \n
00092 */
00093 INLINE void SYS_PostTask(SYS_TaskId_t taskId)
00094 {
00095   ATOMIC_SECTION_ENTER
00096    SYS_taskFlag |= taskId;
00097   ATOMIC_SECTION_LEAVE
00098 }
00099
00100 //\cond internal
00101 /**************************************************************************************/
00104 bool SYS_RunTask();
00105
00106 /**************************************************************************************//*
00107  \brief To force runTask to help making sync calls
00108 ******************************************************************************************/
00109 void SYS_ForceRunTask();
00110 // \endcond
00111
00112 #endif
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: uart.h File Reference

  • File List
  • Globals

uart.h File Reference

The header file describes the uart interface. More...

Go to the source code of this file.

Data Structures

struct | HAL_UartDescriptor_t
Uart descriptor. More...

Functions

int | HAL_OpenUart (HAL_UartDescriptor_t *descriptor)
Registers uart's event handlers. Performs configuration of uart registers. Performs configuration of RTS, CTS and DTR pins.
int | HAL_CloseUart (HAL_UartDescriptor_t *descriptor)
Releases the uart channel and pins, if hardware flow control was used.
int | HAL_WriteUart (HAL_UartDescriptor_t *descriptor, uint8_t *buffer, uint8_t length)
Writes a number of bytes to uart channel. txCallback function will be used to notify when the transmission is finished. If hardware flow control is used for transmitting then RTS and DTR pins will be tested during transmission.
int | HAL_ReadUart (HAL_UartDescriptor_t *descriptor, uint8_t *buffer, uint8_t length)
Reads a number of bytes from uart and places them to the buffer.
int | HAL_OnUartCts (HAL_UartDescriptor_t *descriptor)
Forbids the host to transmit data. Only UART_CHANNEL_1 can be used for hardware flow control for avr.
int | HAL_OffUartCts (HAL_UartDescriptor_t *descriptor)
Allows the host to transmit data. Only UART_CHANNEL_1 can be used for hardware flow control for avr.
int | HAL_ReadUartRts (HAL_UartDescriptor_t *descriptor)
Reads RTS pin state. Only UART_CHANNEL_1 can be used for hardware flow control for avr.
int | HAL_ReadUartDtr (HAL_UartDescriptor_t *descriptor)
Reads DTR pin state. Only UART_CHANNEL_1 can be used for hardware flow control for avr.
int | HAL_IsTxEmpty (HAL_UartDescriptor_t *descriptor)
Checks the status of tx buffer.

Detailed Description

The header file describes the uart interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file uart.h.

Function Documentation

int HAL_OpenUart ( HAL_UartDescriptor_t * descriptor )

Registers uart's event handlers. Performs configuration of uart registers. Performs configuration of RTS, CTS and DTR pins.

Parameters:
[in] descriptor - pointer to HAL_UartDescriptor_t structure
Returns:
Returns positive uart descriptor on success or -1 in cases:
  • bad uart channel;
  • there are not enough resources;

int HAL_CloseUart ( HAL_UartDescriptor_t * descriptor )

Releases the uart channel and pins, if hardware flow control was used.

Parameters:
[in] descriptor - pointer to HAL_UartDescriptor_t structure
Returns:
-1 - bad descriptor;
0 - success.

int HAL_WriteUart | ( | HAL_UartDescriptor_t * | descriptor,
 |  | uint8_t * | buffer,
 |  | uint8_t | length
 | ) |  |

Writes a number of bytes to uart channel. txCallback function will be used to notify when the transmission is finished. If hardware flow control is used for transmitting then RTS and DTR pins will be tested during transmission.

Parameters:
[in] | descriptor | - pointer to HAL_UartDescriptor_t structure;
[in] | buffer | - pointer to the application data buffer;
[in] | length | - number of bytes to transfer;
Returns:
-1 - bad descriptor;
Number of bytes placed to the buffer - success.

int HAL_ReadUart | ( | HAL_UartDescriptor_t * | descriptor,
 |  | uint8_t * | buffer,
 |  | uint8_t | length
 | ) |  |

Reads a number of bytes from uart and places them to the buffer.

Parameters:
[in] | descriptor | - pointer to HAL_UartDescriptor_t structure;
[in] | buffer | - pointer to the application buffer;
[in] | length | - number of bytes to be placed to the buffer;
Returns:
-1 - bad descriptor, or bad number of bytes to read;
Number of bytes placed to the buffer - success.

int HAL_OnUartCts ( HAL_UartDescriptor_t * descriptor )

Forbids the host to transmit data. Only UART_CHANNEL_1 can be used for hardware flow control for avr.

Parameters:
[in] descriptor - pointer to HAL_UartDescriptor_t structure;
Returns:
-1 - bad descriptor, bad uart, or unsupported mode;
0 - success.

int HAL_OffUartCts ( HAL_UartDescriptor_t * descriptor )

Allows the host to transmit data. Only UART_CHANNEL_1 can be used for hardware flow control for avr.

Parameters:
[in] descriptor - pointer to HAL_UartDescriptor_t structure;
Returns:
-1 - bad descriptor, bad uart, or unsupported mode;
0 - success.

int HAL_ReadUartRts ( HAL_UartDescriptor_t * descriptor )

Reads RTS pin state. Only UART_CHANNEL_1 can be used for hardware flow control for avr.

Parameters:
[in] descriptor - pointer to HAL_UartDescriptor_t structure;
Returns:
-1 - bad descriptor, bad uart, or unsupported mode;
0 - RTS is low level;
1 - RTS is high level;

int HAL_ReadUartDtr ( HAL_UartDescriptor_t * descriptor )

Reads DTR pin state. Only UART_CHANNEL_1 can be used for hardware flow control for avr.

Parameters:
[in] descriptor - pointer to HAL_UartDescriptor_t structure;
Returns:
-1 - bad descriptor, bad uart, or unsupported mode;
0 - DTR is low level;
1 - DTR is high level;

int HAL_IsTxEmpty ( HAL_UartDescriptor_t * descriptor )

Checks the status of tx buffer.

Parameters:
[in] descriptor - pointer to HAL_UartDescriptor_t structure;
Returns:
-1 - bad descriptor, no tx buffer;
1 - tx buffer is empty;
0 - tx buffer is not empty;


BitCloud Stack Documentation: uart.h Source File

  • File List
  • Globals

uart.h

Go to the documentation of this file.
00001 /****************************************************************************/
00018 #ifndef _UART_H
00019 #define _UART_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 // \cond
00025 #include <halUart.h>
00026
00027 /******************************************************************************
00028                    Define(s) section
00029 ******************************************************************************/
00030 #define UART_FLOW_CONTROL_NONE 0
00031 #define UART_FLOW_CONTROL_HARDWARE 1
00032 #define UART_DTR_CONTROL 2
00033
00034 #ifndef NUM_USART_CHANNELS
00035   #define NUM_USART_CHANNELS 2 // Number USART channels
00036 #endif
00037
00038 #if defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00039   // this define is used only by HAL.
00040   #define USART_SPI_MODE 16
00041 #endif
00042 // \endcond
00043
00044 /******************************************************************************
00045                    Types section
00046 ******************************************************************************/
00048 typedef struct
00049 {
00052   uint8_t tty;
00058   UartMode_t mode;
00073   UartBaudRate_t baudrate;
00079   UartData_t dataLength;
00084   UartParity_t parity;
00088   UartStopBits_t stopbits;
00092   UartSyncMode_t edge;
00094   UartClckMode_t syncMode;
00098   uint8_t *rxBuffer;
00100   uint16_t rxBufferLength;
00104   uint8_t *txBuffer;
00106   uint16_t txBufferLength;
00110   void (*rxCallback)(uint8_t);
00113   void (*txCallback)();
00119   uint8_t flowControl;
00120 } HAL_UartDescriptor_t;
00121
00122 /******************************************************************************
00123                    Prototypes section
00124 ******************************************************************************/
00125 /**************************************************************************/
00137 int HAL_OpenUart(HAL_UartDescriptor_t *descriptor);
00138
00139 /*************************************************************************/
00149 int HAL_CloseUart(HAL_UartDescriptor_t *descriptor);
00150
00151 /**************************************************************************/
00170 int HAL_WriteUart(HAL_UartDescriptor_t *descriptor, uint8_t *buffer, uint8_t length);
00171
00172 /*************************************************************************/
00188 int HAL_ReadUart(HAL_UartDescriptor_t *descriptor, uint8_t *buffer, uint8_t length);
00189
00190 /**************************************************************************/
00201 int HAL_OnUartCts(HAL_UartDescriptor_t *descriptor);
00202
00203 /**************************************************************************/
00214 int HAL_OffUartCts(HAL_UartDescriptor_t *descriptor);
00215
00216 /**************************************************************************/
00228 int HAL_ReadUartRts(HAL_UartDescriptor_t *descriptor);
00229
00230 /**************************************************************************/
00242 int HAL_ReadUartDtr(HAL_UartDescriptor_t *descriptor);
00243
00244 /**************************************************************************/
00255 int HAL_IsTxEmpty(HAL_UartDescriptor_t *descriptor);
00256
00257 #if defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00258 /**************************************************************************/
00264 void HAL_EnableDtrWakeUp(void (* callback)(void));
00265
00266 /**************************************************************************/
00269 void HAL_DisableDtrWakeUp(void);
00270 #endif
00271
00272 #endif /* _UART_H */
00273 // eof uart.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: uid.h File Reference

  • File List
  • Globals

uid.h File Reference

The header file describes the UID interface. More...

Go to the source code of this file.

Functions

int HAL_ReadUid (uint64_t *id)
UID discovery.

Detailed Description

The header file describes the UID interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file uid.h.

Function Documentation

int HAL_ReadUid ( uint64_t * id )

UID discovery.

Parameters:
[in] id - UID buffer pointer.
Attention! Memory size must be equal to (Number of devices) * 8 bytes
Returns:
0 - if UID of DS2411 has been found successfully;
-1 - if some error occured during UID discovery.


BitCloud Stack Documentation: uid.h Source File

  • File List
  • Globals

uid.h

Go to the documentation of this file.
00001 /****************************************************************************/
00018 #ifndef _UID_H
00019 #define _UID_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 // \cond
00025 #include <types.h>
00026 // \endcond
00027
00028 /******************************************************************************
00029                    Prototypes section
00030 ******************************************************************************/
00031 /************************************************************/
00040 int HAL_ReadUid(uint64_t *id);
00041
00042 #endif /* _UID_H */
00043
00044 // eof uid.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: usb.h File Reference

  • File List
  • Globals

usb.h File Reference

The header file describes the usb interface. More...

Go to the source code of this file.

Data Structures

struct | HAL_UsbEndPointDescptr_t

Typedefs

typedef void(*) | TransferCallback_t (void *pArg, uint8_t status, uint16_t transferred, uint16_t remaining)

Functions

END_PACK void | HAL_RegisterRequestHandler (void(*f)(uint8_t *req))
Registers user's request handler.
void | HAL_RegisterEndOfBusResetHandler (void(*f)(void))
Registers user's end of bus reset handler.
void | HAL_RegisterResumeHandler (void(*f)(void))
Registers user's resume handler.
void | HAL_RegisterSuspendHandler (void(*f)(void))
Registers user's suspend handler.
void | HAL_ConfigureEndpoint (HAL_UsbEndPointDescptr_t *descriptor)
Configures an endpoint according to its Endpoint Descriptor.
uint8_t | HAL_UsbWrite (uint8_t eptnum, void *data, uint32_t size, TransferCallback_t callback, void *argument)
Sends data through a USB endpoint. Sets up the transfer descriptor, writes one or two data payloads (depending on the number of FIFO bank for the endpoint) and then starts the actual transfer. The operation is complete when all the data has been sent.
uint8_t | HAL_UsbRead (uint8_t eptnum, void *data, uint32_t size, TransferCallback_t callback, void *argument)
Reads incoming data on an USB endpoint This methods sets the transfer descriptor and activate the endpoint interrupt. The actual transfer is then carried out by the endpoint interrupt handler. The Read operation finishes either when the buffer is full, or a short packet (inferior to endpoint maximum size) is received.
void | HAL_Halt (uint8_t eptnum)
Sets the HALT feature on the given endpoint (if not already in this state).
void | HAL_Unhalt (uint8_t eptnum)
Clears the Halt feature on the given endpoint.
uint8_t | HAL_IsHalted (uint8_t eptnum)
Returns the current Halt status of an endpoint.
uint8_t | HAL_Stall (uint8_t eptnum)
Causes the given endpoint to acknowledge the next packet it receives with a STALL handshake.
void | HAL_SetAddress (uint8_t *address)
Sets the device address to the given value.
void | HAL_SetConfiguration (uint8_t cfgnum)
Sets the current device configuration.
void | HAL_UsbInit (uint8_t *reqMem)
Initializes the USB driver. This function must be called before host bus reset and after pull up is connected to D+. After pull up was connected to D+ host resets device with 100ms delay.
uint8_t | HAL_GetState (void)
Returns the current state of the USB device.

Detailed Description

The header file describes the usb interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file usb.h.

Typedef Documentation

typedef void(* ) TransferCallback_t(void *pArg, uint8_t status, uint16_t transferred, uint16_t remaining)

Definition at line 38 of file usb.h.

Function Documentation

END_PACK void HAL_RegisterRequestHandler ( void(*)(uint8_t *req) f )

Registers user's request handler.

Parameters:
[in] f - pointer to user's callback

void HAL_RegisterEndOfBusResetHandler ( void(*)(void) f )

Registers user's end of bus reset handler.

Parameters:
[in] f - pointer to user's callback

void HAL_RegisterResumeHandler ( void(*)(void) f )

Registers user's resume handler.

Parameters:
[in] f - pointer to user's callback

void HAL_RegisterSuspendHandler ( void(*)(void) f )

Registers user's suspend handler.

Parameters:
[in] f - pointer to user's callback

void HAL_ConfigureEndpoint ( HAL_UsbEndPointDescptr_t * descriptor )

Configures an endpoint according to its Endpoint Descriptor.

Parameters:
[in] descriptor - Pointer to an Endpoint descriptor.

uint8_t HAL_UsbWrite | ( | uint8_t | eptnum,
 |  | void * | data,
 |  | uint32_t | size,
 |  | TransferCallback_t | callback,
 |  | void * | argument
 | ) |  |

Sends data through a USB endpoint. Sets up the transfer descriptor, writes one or two data payloads (depending on the number of FIFO bank for the endpoint) and then starts the actual transfer. The operation is complete when all the data has been sent.

If the size of the buffer is greater than the size of the endpoint (or twice the size if the endpoint has two FIFO banks), then the buffer must be kept allocated until the transfer is finished*. This means that it is not possible to declare it on the stack (i.e. as a local variable of a function which returns after starting a transfer).

Parameters:
[in] | eptnum | - Endpoint number.
[in] | data | - Pointer to a buffer with the data to send.
[in] | size | - Size of the data buffer.
[in] | callback | - Optional callback function to invoke when the transfer is complete.
[in] | argument | - Optional argument to the callback function.
Returns:
STATUS_SUCCESS if the transfer has been started; otherwise, the corresponding error status code.

uint8_t HAL_UsbRead | ( | uint8_t | eptnum,
 |  | void * | data,
 |  | uint32_t | size,
 |  | TransferCallback_t | callback,
 |  | void * | argument
 | ) |  |

Reads incoming data on an USB endpoint This methods sets the transfer descriptor and activate the endpoint interrupt. The actual transfer is then carried out by the endpoint interrupt handler. The Read operation finishes either when the buffer is full, or a short packet (inferior to endpoint maximum size) is received.

The buffer must be kept allocated until the transfer is finished*.

Parameters:
[in] | eptnum | - Endpoint number.
[in] | data | - Pointer to a data buffer.
[in] | size | - Size of the data buffer in bytes.
[in] | callback | - Optional end-of-transfer callback function.
[in] | argument | - Optional argument to the callback function.
Returns:
STATUS_SUCCESS if the read operation has been started; otherwise, the corresponding error code.

void HAL_Halt ( uint8_t eptnum )

Sets the HALT feature on the given endpoint (if not already in this state).

Parameters:
[in] eptnum - Endpoint number.

void HAL_Unhalt ( uint8_t eptnum )

Clears the Halt feature on the given endpoint.

Parameters:
[in] eptnum - Endpoint number.

uint8_t HAL_IsHalted ( uint8_t eptnum )

Returns the current Halt status of an endpoint.

Parameters:
[in] eptnum - Endpoint number.
Returns:
1 - if the endpoint is currently halted; 0 - otherwise.

uint8_t HAL_Stall ( uint8_t eptnum )

Causes the given endpoint to acknowledge the next packet it receives with a STALL handshake.

Parameters:
[in] eptnum - Endpoint number.
Returns:
STATUS_SUCCESS or STATUS_BUSY.

void HAL_SetAddress ( uint8_t * address )

Sets the device address to the given value.

Parameters:
[in] address - New device address.

void HAL_SetConfiguration ( uint8_t cfgnum )

Sets the current device configuration.

Parameters:
[in] cfgnum - Configuration number to set.

void HAL_UsbInit ( uint8_t * reqMem )

Initializes the USB driver. This function must be called before host bus reset and after pull up is connected to D+. After pull up was connected to D+ host resets device with 100ms delay.

Parameters:
[in] reqMem - Memory for usb request. Memory is allocated by user.

uint8_t HAL_GetState ( void )

Returns the current state of the USB device.

Returns:
Device current state.


BitCloud Stack Documentation: usb.h Source File

  • File List
  • Globals

usb.h

Go to the documentation of this file.
00001 /**************************************************************************/
00017 #ifndef _USB_H
00018 #define _USB_H
00019
00020 /******************************************************************************
00021                    Define(s) section
00022 ******************************************************************************/
00023 // \cond
00024 // USB device API return values
00025 // Indicates the operation was successful
00026 #define STATUS_SUCCESS             0
00027 // Endpoint/device is already busy
00028 #define STATUS_BUSY                1
00029 // Operation has been aborted
00030 #define STATUS_ABORTED             2
00031 // Operation has been aborted because the device was configured
00032 #define STATUS_RESET               3
00033 // \endcond
00034
00035 /******************************************************************************
00036                    Types section
00037 ******************************************************************************/
00038 // transaction callback type
00039 typedef void (* TransferCallback_t)(void *pArg, uint8_t status, uint16_t transferred, uint16_t remaining);
00040
00041 BEGIN_PACK
00042 // Usb endpoint descriptor
00043 typedef struct PACK
00044 {
00045   uint8_t  bLength;          // Size of the descriptor in bytes
00046   uint8_t  bDescriptorType;  // Descriptor type
00047   uint8_t  bEndpointAddress; // Address and direction of the endpoint
00048   uint8_t  bmAttributes;     // Endpoint type and additional characteristics (for isochronous endpoints)
00049   uint16_t wMaxPacketSize;   // Maximum packet size (in bytes) of the endpoint
00050   uint8_t  bInterval;        // Polling rate of the endpoint
00051 } HAL_UsbEndPointDescptr_t;
00052 END_PACK
00053
00054 /******************************************************************************
00055                    Prototypes section
00056 ******************************************************************************/
00057 /**************************************************************************/
00063 void HAL_RegisterRequestHandler(void (* f)(uint8_t *req));
00064
00065 /**************************************************************************/
00071 void HAL_RegisterEndOfBusResetHandler(void (* f)(void));
00072
00073 /**************************************************************************/
00079 void HAL_RegisterResumeHandler(void (* f)(void));
00080
00081 /**************************************************************************/
00087 void HAL_RegisterSuspendHandler(void (* f)(void));
00088
00089 /**************************************************************************/
00095 void HAL_ConfigureEndpoint(HAL_UsbEndPointDescptr_t *descriptor);
00096
00097 /**************************************************************************/
00124 uint8_t HAL_UsbWrite(uint8_t eptnum, void *data, uint32_t size, TransferCallback_t callback, void *argument);
00125
00126 /**************************************************************************/
00150 uint8_t HAL_UsbRead(uint8_t eptnum, void *data, uint32_t size, TransferCallback_t callback, void *argument);
00151
00152 /**************************************************************************/
00158 void HAL_Halt(uint8_t eptnum);
00159
00160 /**************************************************************************/
00166 void HAL_Unhalt(uint8_t eptnum);
00167
00168 /**************************************************************************/
00178 uint8_t HAL_IsHalted(uint8_t eptnum);
00179
00180 /**************************************************************************/
00190 uint8_t HAL_Stall(uint8_t eptnum);
00191
00192 /**************************************************************************/
00198 void HAL_SetAddress(uint8_t *address);
00199
00200 /**************************************************************************/
00206 void HAL_SetConfiguration(uint8_t cfgnum);
00207
00208 /**************************************************************************/
00216 void HAL_UsbInit(uint8_t *reqMem);
00217
00218 /**************************************************************************/
00224 uint8_t HAL_GetState(void);
00225
00226 #endif /* _USB_H */
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: w1.h File Reference

  • File List
  • Globals

w1.h File Reference

The header file describes the 1-Wire interface. More...

#include <halW1.h>

Go to the source code of this file.

Defines

#define | W1_ANY_FAMILY 0x00
#define | DS2411 0x01

Functions

W1Status_t | HAL_SearchW1Device (uint8_t family, uint8_t *data, uint8_t count, uint8_t *actCount)
1-Wire search procedure with search ROM command only
W1Status_t | HAL_AlarmSearchW1Device (uint8_t family, uint8_t *data, uint8_t count, uint8_t *actCount)
1-Wire search procedure with alarm search command only
uint8_t | HAL_ResetW1 (void)
Resets all devices connected to the bus.
void | HAL_WriteW1 (uint8_t value)
Writes a single byte to the bus.
uint8_t | HAL_ReadW1 (void)
Reads a single byte from the bus.

Detailed Description

The header file describes the 1-Wire interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file w1.h.

Define Documentation

#define W1_ANY_FAMILY 0x00

Definition at line 29 of file w1.h.

#define DS2411 0x01

Definition at line 30 of file w1.h.

Function Documentation

W1Status_t HAL_SearchW1Device | ( | uint8_t | family,
 |  | uint8_t * | data,
 |  | uint8_t | count,
 |  | uint8_t * | actCount
 | ) |  |

1-Wire search procedure with search ROM command only

Parameters:
[in] | family | - 8-bit family code.
[in] data - pointer of SRAM where the 8-bytes ROM codes returned by the devices are stored.
Attention! Memory size must be equal to (Number of devices) * 8 bytes
[in] | count | - number of devices we wish to find.
[in] | actCount | - number of devices actually found.
Returns:
W1_SUCCESS_STATUS - if at least one device has been found.
W1_NO_DEVICE_STATUS - if there are no any devices presented on the bus with specified family code.
W1_INVALID_CRC - if an invalid CRC has been read during the search and no devices with specified family code was found.

W1Status_t HAL_AlarmSearchW1Device | ( | uint8_t | family,
 |  | uint8_t * | data,
 |  | uint8_t | count,
 |  | uint8_t * | actCount
 | ) |  |

1-Wire search procedure with alarm search command only

Parameters:
[in] | family | - 8-bit family code.
[in] data - pointer of SRAM where the 8-bytes ROM codes returned by the devices are stored.
[in] | count | - number of devices we wish to find.
[in] | actCount | - number of devices actually found.
Returns:
W1_SUCCESS_STATUS - if at least one device has been found.
W1_NO_DEVICE_STATUS - if there are no any devices presented on the bus with specified family code.
W1_INVALID_CRC - if an invalid CRC has been read during the search and no devices with specified family code was found.

uint8_t HAL_ResetW1 ( void )

Resets all devices connected to the bus.

Returns:
0 - there are some devices at the bus.
1 - there are no devices at the bus.

void HAL_WriteW1 ( uint8_t value )

Writes a single byte to the bus.

Parameters:
[in] value - byte to write.

uint8_t HAL_ReadW1 ( void )

Reads a single byte from the bus.

Returns:
byte read from the bus.


BitCloud Stack Documentation: w1.h Source File

  • File List
  • Globals

w1.h

Go to the documentation of this file.
00001 /****************************************************************************/
00018 #ifndef _W1_H
00019 #define _W1_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 #include <halW1.h>
00025
00026 /******************************************************************************
00027                    Define(s) section
00028 ******************************************************************************/
00029 #define W1_ANY_FAMILY 0x00
00030 #define DS2411 0x01
00031
00032 /******************************************************************************
00033                    Prototypes section
00034 ******************************************************************************/
00035 /*************************************************************************/
00054 W1Status_t HAL_SearchW1Device(uint8_t family,
00055                               uint8_t *data,
00056                               uint8_t count,
00057                               uint8_t *actCount);
00058
00059 /**************************************************************************/
00077 W1Status_t HAL_AlarmSearchW1Device(uint8_t family,
00078                                    uint8_t *data,
00079                                    uint8_t count,
00080                                    uint8_t *actCount);
00081
00082 /***************************************************************************/
00088 uint8_t HAL_ResetW1(void);
00089
00090 /***************************************************************************/
00095 void HAL_WriteW1(uint8_t value);
00096
00097 /***************************************************************************/
00102 uint8_t HAL_ReadW1(void);
00103
00104 #endif /* _W1_H */
00105 // eof w1.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: wdtCtrl.h File Reference

  • File List
  • Globals

wdtCtrl.h File Reference

The header file describes the WDT interface. More...

#include <halWdt.h>

Go to the source code of this file.

Functions

void | HAL_StartWdt (HAL_WdtInterval_t interval)
Starts WDT within a given interval.
void | HAL_RegisterWdtCallback (void(*wdtCallback)())
Registers WDT fired callback.

Detailed Description

The header file describes the WDT interface.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file wdtCtrl.h.

Function Documentation

void HAL_StartWdt ( HAL_WdtInterval_t interval )

Starts WDT within a given interval.

Parameters:
[in] interval - interval. Must be chosen from:
WDT_INTERVAL_16 // 16 ms
WDT_INTERVAL_32 // 32 ms
WDT_INTERVAL_64 // 64 ms
WDT_INTERVAL_125 // 125 ms
WDT_INTERVAL_250 // 250 ms
WDT_INTERVAL_500 // 500 ms
WDT_INTERVAL_1000 // 1 second
WDT_INTERVAL_2000 // 2 seconds
WDT_INTERVAL_4000 // 4 seconds
WDT_INTERVAL_8000 // 8 seconds

void HAL_RegisterWdtCallback ( void(*)() wdtCallback )

Registers WDT fired callback.

Parameters:
[in] wdtCallback - pointer to the callback function.


BitCloud Stack Documentation: wdtCtrl.h Source File

  • File List
  • Globals

wdtCtrl.h

Go to the documentation of this file.
00001 /****************************************************************************/
00018 #ifndef _HALWDTCTRL_H
00019 #define _HALWDTCTRL_H
00020
00021 /******************************************************************************
00022                    Includes section
00023 ******************************************************************************/
00024 #include <halWdt.h>
00025
00026 /******************************************************************************
00027                    Types section
00028 ******************************************************************************/
00029 // \cond
00030 // an interval before WDT will expire
00031 #if defined(AT91SAM7X256)
00032   typedef enum
00033   {
00034     WDT_INTERVAL_4    = 0xFFE,   // 4 ms
00035     WDT_INTERVAL_16   = 0xFFB,   // 16 ms
00036     WDT_INTERVAL_32   = 0xFF9,   // 32 ms
00037     WDT_INTERVAL_64   = 0xFEF,   // 64 ms
00038     WDT_INTERVAL_125  = 0xFDF,   // 125 ms
00039     WDT_INTERVAL_250  = 0xFBF,   // 250 ms
00040     WDT_INTERVAL_500  = 0xF7F,   // 500 ms
00041     WDT_INTERVAL_1000 = 0xEFF,   // 1 second
00042     WDT_INTERVAL_2000 = 0xDFF,   // 2 seconds
00043     WDT_INTERVAL_4000 = 0xBFF,   // 4 seconds
00044     WDT_INTERVAL_8000 = 0x7FF    // 8 seconds
00045   } HAL_WdtInterval_t;
00046 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00047   typedef enum
00048   {
00049     WDT_INTERVAL_16   = 0x00,    // 16 ms
00050     WDT_INTERVAL_32   = 0x01,    // 32 ms
00051     WDT_INTERVAL_64   = 0x02,    // 64 ms
00052     WDT_INTERVAL_125  = 0x03,    // 125 ms
00053     WDT_INTERVAL_250  = 0x04,    // 250 ms
00054     WDT_INTERVAL_500  = 0x05,    // 500 ms
00055     WDT_INTERVAL_1000 = 0x06,    // 1 second
00056     WDT_INTERVAL_2000 = 0x07,    // 2 seconds
00057     WDT_INTERVAL_4000 = 0x20,    // 4 seconds
00058     WDT_INTERVAL_8000 = 0x21     // 8 seconds
00059   }HAL_WdtInterval_t;
00060 #endif
00061 // \endcond
00062
00063 /******************************************************************************
00064                    Prototypes section
00065 ******************************************************************************/
00066 /***************************************************************************/
00082 void HAL_StartWdt(HAL_WdtInterval_t interval);
00083
00084 /***************************************************************************/
00090 void HAL_RegisterWdtCallback(void (*wdtCallback)());
00091
00092 /******************************************************************************
00093                    Inline static functions section
00094 ******************************************************************************/
00095 #if defined(AT91SAM7X256)
00096 /**************************************************************************/
00099 INLINE void HAL_ResetWdt(void)
00100 {
00101   halResetWdt();
00102 }
00103
00104 #elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287)
00105 /*******************************************************************/
00108 #define HAL_StopWdt() wdt_disable()
00109
00110 /*******************************************************************/
00113 #define HAL_ResetWdt() wdt_reset()
00114 #endif
00115
00116 #endif /*_HALWDTCTRL_H*/
00117
00118 // eof wdtCtrl.h
Generated on Mon Feb 16 17:53:40 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: zdo.h File Reference

  • File List
  • Globals

zdo.h File Reference

The header file describes the public ZDO interface and ZDO types. More...

#include <macAddr.h>
#include <appFramework.h>
#include <aps.h>
#include <configServer.h>

Go to the source code of this file.

Data Structures

struct | NodeAddr_t
Information about the addresses of a device. More...
struct | ZDO_StartNetworkConf_t
Describes the parameters of the ZDO_StartNetworkConf() function. More...
struct | ZDO_StartNetworkReq_t
Describes the parameters of the ZDO_StartNetworkReq() function. More...
struct | ZDO_ResetNetworkConf_t
Desribes the parameters of the ZDO_ResetNetworkConf() function. More...
struct | ZDO_ResetNetworkReq_t
Describes the parameters of the ZDO_ResetNetworkReq() function. More...
struct | EDScan_t
This information is provided to enable ZigBee devices to report the condition on local channels to a network manager. The scanned channel list is the report of channels scanned and it is followed by a list of records, one for each channel scanned, each record including one byte of the energy level measured during the scan, or 0xff if there is too much interference on this channel. More...
struct | NetworkInf_t
This information is provided to inform an application about new network parameters if a device rejoined a network. More...
struct | ZDO_MgmtNwkUpdateNotf_t
This information is provided to notify application about network events. More...
struct | ZDO_MgmtLqiResp_t
Desribes the parameters of the LQI response. More...
struct | ZDO_MgmtLqiReq_t
Desribes the parameters of the LQI request. More...
struct | ZDO_SleepConf_t
Desribes the parameters of the ZDO_SleepConf() function. More...
struct | ZDO_SleepReq_t
Describes the parameters of the ZDO_SleepReq() function. More...
struct | ZDO_WakeUpConf_t
Describes the parameters of the ZDO_WakeUp() function. More...
struct | ZDO_WakeUpReq_t
Describes the parameters of the ZDO_SleepReq() function. More...
struct | ZDO_NwkAddrReq_t
This request is generated from a Local Device wishing to inquire as to the 16-bit address of the Remote Device based on its known IEEE address. The destination addressing on this command shall be unicast or broadcast to all devices for which macRxOnWhenIdle = TRUE. More...
struct | ZDO_IeeeAddrReq_t
This request is generated from a Local Device wishing to inquire as to the 64-bit IEEE address of the Remote Device based on their known 16-bit address. The destination addressing on this command shall be unicast. More...
struct | ZDO_NodeDescReq_t
This request is generated from a local device wishing to inquire as to the node descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...
struct | ZDO_PowerDescReq_t
This request is generated from a local device wishing to inquire as to the power descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...
struct | ZDO_ActiveEPReq_t
This request is generated from a local device wishing to acquire the list of endpoints on a remote device with simple descriptors. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...
struct | ZDO_ComplexDescReq_t
This request is generated from a local device wishing to inquire as to the complex descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...
struct | ZDO_UserDescReq_t
This request is generated from a local device wishing to inquire as to the user descriptor of a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...
struct | ZDO_UserDescSetReq_t
This is generated from a local device wishing to configure the user descriptor on a remote device. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...
struct | ZDO_SimpleDescReq_t
This request is generated from a local device wishing to inquire as to the simple descriptor of a remote device on a specified endpoint. This command shall be unicast either to the remote device itself or to an alternative device that contains the discovery information of the remote device. More...
struct | ZDO_DeviceAnnceReq_t
This request is provided to enable ZigBee devices on the network to notify other ZigBee devices that the device has joined or re-joined the network, identifying the devices 64-bit IEEE address and new 16-bit NWK address, and informing the Remote Devices of the capability of the ZigBee device. This command shall be invoked for all ZigBee end devices upon join or rejoin. This command may also be invoked by ZigBee routers upon join or rejoin as part of NWK address conflict resolution. The destination addressing on this primitive is broadcast to all devices for which macRxOnWhenIdle = TRUE. More...
struct | ZDO_SystemServerDiscoveryReq_t
This request is generated from a Local Device wishing to discover the location of a particular system server or servers as indicated by the ServerMask parameter. The destination addressing on this request is broadcast to all devices for which macRxOnWhenIdle = TRUE. More...
struct | ZDO_MgmtLeaveReq_t
This request is generated from a Local Device requesting that a Remote Device leave the network or to request that another device leave the network. The Mgmt_Leave_req is generated by a management application which directs the request to a Remote Device where the NLME-LEAVE.request is to be executed using the parameter supplied by Mgmt_Leave_req. More...
struct | ZDO_MgmtPermitJoiningReq_t
This request is generated from a Local Device requesting that a remote device or devices allow or disallow association. More...
struct | ZDO_MgmtNwkUpdateReq_t
This command is provided to allow updating of network configuration parameters or to request information from devices on network conditions in the local operating environment. The destination addressing on this primitive shall be unicast or broadcast to all devices for which macRxOnWhenIdle = TRUE. More...
struct | ZDO_NwkAddrResp_t
This command is generated by a Remote Device in response to a NWK_addr_req command inquiring as to the NWK address of the Remote Device or the NWK address of an address held in a local discovery cache. The destination addressing on this command is unicast. More...
struct | ZDO_IeeeAddrResp_t
This command is generated by a Remote Device in response to an IEEE_addr_req command inquiring as to the 64-bit IEEE address of the Remote Device or the 64-bit IEEE address of an address held in a local discovery cache. The destination addressing on this command shall be unicast. More...
struct | ZDO_NodeDescResp_t
This command is generated by a remote device in response to a Node_Desc_req directed to the remote device. This command shall be unicast to the originator of the Node_Desc_req command. More...
struct | ZDO_PowerDescResp_t
This command is generated by a remote device in response to a Power_Desc_req directed to the remote device. This command shall be unicast to the originator of the Power_Desc_req command. More...
struct | ZDO_ComplexDescResp_t
This command is generated by a remote device in response to a Complex_Desc_req directed to the remote device. This command shall be unicast to the originator of the Complex_Desc_req command. More...
struct | ZDO_UserDescResp_t
The User_Desc_rsp is generated by a remote device in response to a User_Desc_req directed to the remote device. This command shall be unicast to the originator of the User_Desc_req command. More...
struct | ZDO_UserDescConfResp_t
This command is generated by a remote device in response to a User_Desc_set directed to the remote device. This command shall be unicast to the originator of the User_Desc_set command. More...
struct | ZDO_ActiveEPResp_t
This command is generated by a remote device in response to an Active_EP_req directed to the remote device. This command shall be unicast to the originator of the Active_EP_req command. More...
struct | ZdpSimpleDescriptor_t
The simple descriptor contains information specific to each endpoint contained in this node. The simple descriptor is mandatory for each endpoint present in the node. More...
struct | ZDO_SimpleDescResp_t
This command is generated by a remote device in response to a Simple_Desc_req directed to the remote device. This command shall be unicast to the originator of the Simple_Desc_req command. More...
struct | ZDO_SystemServerDiscoveryResp_t
This command is generated from Remote Devices on receipt of a System_Server_Discovery_req primitive if the parameter matches the Server Mask field in its node descriptor. If there is no match, the System_Server_Discovery_req shall be ignored and no response given. Matching is performed by masking the ServerMask parameter of the System_Server_Discovery_req with the Server Mask field in the node descriptor. This command shall be unicast to the device which sent System_Server_Discovery_req with Acknowledge request set in TxOptions. The parameter ServerMask contains the bits in the parameter of the request which match the server mask in the node descriptor. More...
struct | ZDO_ZdpRespFrame_t
This struct contains response to one of the ZDP requests. More...
struct | ZDO_ZdpReqFrame_t
This struct contains one of the ZDP requests. More...
struct | ZDO_ZdpFrame_t
Frame for transmission one of the ZDP requests. More...
struct | ZDO_ZdpResp_t
ZDP response. More...
struct | ZDO_ZdpReq_t
ZDP request. Describes the parameters of the ZDO_ZdpReq() function. More...
struct | ZDO_GetLqiRssi_t
Describes the parameters of the ZDO_LqiRssiReq() function. More...
struct | ZDO_GetChildrenAddr_t
Describes the parameters of the ZDO_ChildrenAddrReq() function. More...
struct | ZDO_SetTxPowerConf_t
Describes the parameters of the ZDO_SetTxPowerConf() function. More...
struct | ZDO_SetTxPowerReq_t
Describes the parameters of the ZDO_SetTxPowerReq() function. More...
struct | ZDO_GetNeibAmount_t
Describes the parameters of the ZDO_GetNeibAmount() function. More...
struct | ZDO_Neib_t
Describes neighbor table entry. More...

Defines

#define | ZDO_MGMT_ED_SCAN_DUR_0 0x00
Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.
#define | ZDO_MGMT_ED_SCAN_DUR_1 0x01
Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.
#define | ZDO_MGMT_ED_SCAN_DUR_2 0x02
Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.
#define | ZDO_MGMT_ED_SCAN_DUR_3 0x03
Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.
#define | ZDO_MGMT_ED_SCAN_DUR_4 0x04
Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.
#define | ZDO_MGMT_ED_SCAN_DUR_5 0x05
Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.
#define | ZDO_MGMT_CHANNEL_CHANGE 0xFE
Used as a special value for ZDO_MgmtNwkUpdateReq_t::scanDuration.
#define | ZDO_MGMT_NWK_PARAMS_CHANGE 0xFF
Used as a special value for ZDO_MgmtNwkUpdateReq_t::scanDuration.

Enumerations

enum | NetLostReason_t { LEAVED_BY_PARENT, LINK_FAIL, LEAVE_REQ }
Reasons of device leaving. More...
enum ZDO_Status_t {
ZDO_SUCCESS_STATUS = 0x00, ZDO_INVALID_PARAMETERS_STATUS = 0x01, ZDO_NOT_PERMITTED_STATUS = 0x03, ZDO_BUSY_STATUS = 0x04,
ZDO_NO_NETWORKS_STATUS = 0x05, ZDO_EXTPANID_ALREADY_EXIST_STATUS = 0x06, ZDO_FAIL_STATUS = 0x07, ZDO_AUTHENTICATION_SUCCESS_STATUS = 0x08,
ZDO_AUTHENTICATION_FAIL_STATUS = 0x09, ZDO_SECURITY_SUCCESS_STATUS = 0x0A, ZDO_SECURITY_FAIL_STATUS = 0x0B, ZDO_SECURITY_NOT_SUPPORTED_STATUS = 0x0C,
ZDO_CMD_COMPLETED_STATUS = 0x0D, ZDO_INVALID_REQUEST_STATUS = 0x80, ZDO_DEVICE_NOT_FOUND_STATUS = 0x81, ZDO_INVALID_EP_STATUS = 0x82,
ZDO_NOT_ACTIVE_STATUS = 0x83, ZDO_NOT_SUPPORTED_STATUS = 0x84, ZDO_TIMEOUT_STATUS = 0x85, ZDO_NO_MATCH_STATUS = 0x86,
ZDO_NO_ENTRY_STATUS = 0x88, ZDO_NO_DESCRIPTOR_STATUS = 0x89, ZDO_INSUFFICIENT_SPACE_STATUS = 0x8A, ZDO_RESPONSE_WAIT_TIMEOUT_STATUS = 0x8B,
ZDO_TABLE_FULL_STATUS = 0x8C, ZDO_NOT_AUTHORIZED_STATUS = 0x8D, ZDO_NWK_UPDATE_STATUS = 0x8E, ZDO_NETWORK_STARTED_STATUS = 0x8F,
ZDO_NETWORK_LOST_STATUS = 0x90, ZDO_NETWORK_LEFT_STATUS = 0x91, ZDO_CHILD_JOINED_STATUS = 0x92, ZDO_CHILD_REMOVED_STATUS = 0x93,
ZDO_USER_DESCRIPTOR_UPDATE_STATUS = 0x94, ZDO_STATIC_ADDRESS_CONFLICT_STATUS = 0x95
}
ZDO result status primitives. More...
enum | { SINGLE_RESPONSE_REQUESTTYPE = 0x00, EXTENDED_RESPONSE_REQUESTTYPE = 0x01 }
Types of response to address request. More...
enum {
NWK_ADDR_CLID = 0x0000, IEEE_ADDR_CLID = 0x0001, NODE_DESCRIPTOR_CLID = 0x0002, POWER_DESCRIPTOR_CLID = 0x0003,
SIMPLE_DESCRIPTOR_CLID = 0x0004, ACTIVE_ENDPOINTS_CLID = 0x0005, MATCH_DESCRIPTOR_CLID = 0x0006, COMPLEX_DESCRIPTOR_CLID = 0x0010,
USER_DESCRIPTOR_CLID = 0x0011, DISCOVERY_CASH_CLID = 0x0012, DEVICE_ANNCE_CLID = 0x0013, USER_DESC_CONF_CLID = 0x0014,
SYSTEM_SERVER_DISCOVERY_CLID = 0x0015, DISCOVERY_STORE_CLID = 0x0016, NODE_DESC_STORE_CLID = 0x0017, POWER_DESC_STORE_CLID = 0x0018,
ACTIVE_EP_STORE_CLID = 0x0019, SIMPLE_DESC_STORE_CLID = 0x001A, REMOVE_NODE_CACHE_CLID = 0x001B, FIND_NODE_CACHE_CLID = 0x001C,
EXTENDED_SIMPLE_DESC_CLID = 0x001D, EXTENDED_ACTIVE_EP_CLID = 0x001E, END_DEVICE_BIND_CLID = 0x0020, BIND_CLID = 0x0021,
UNBIND_CLID = 0x0022, BIND_REGISTER_CLID = 0x0023, REPLACE_DEVICE_CLID = 0x0024, STORE_BCKUP_BIND_ENTRY_CLID = 0x0025,
REMOVE_BCKUP_BIND_ENTRY_CLID = 0x0026, BACKUP_BIND_TABLE_CLID = 0x0027, RECOVER_BIND_TABLE_CLID = 0x0028, BACKUP_SOURCE_BIND_CLID = 0x0029,
RECOVER_SOURCE_BIND_CLID = 0x002A, MGMT_NWK_DISC_CLID = 0x0030, MGMT_LQI_CLID = 0x0031, MGMT_RTG_CLID = 0x0032,
MGMT_BIND_CLID = 0x0033, MGMT_LEAVE_CLID = 0x0034, MGMT_DIRECT_JOIN_CLID = 0x0035, MGMT_PERMIT_JOINING_CLID = 0x0036,
MGMT_CACHE_CLID = 0x0037, MGMT_NWK_UPDATE_CLID = 0x0038
}
The ZDP clusters ID list. More...
enum | AddrMode_t { SHORT_ADDR_MODE, EXT_ADDR_MODE }
Possible address modes. More...
enum | ZDO_NwkStatus_t { ZDO_IN_NETWORK_STATUS, ZDO_OUT_NETWORK_STATUS }
List of network status. More...

Functions

void | ZDO_StartNetworkReq (ZDO_StartNetworkReq_t *startingParams)
Starts network for coordinator and joins the network for router.
void | ZDO_ResetNetworkReq (ZDO_ResetNetworkReq_t *resetParams)
Resets the stack without any commands to the network.
void | ZDO_MgmtNwkUpdateNotf (ZDO_MgmtNwkUpdateNotf_t *nwkParams)
Indicates about network parameters update.
void | ZDO_SleepReq (ZDO_SleepReq_t *req)
Puts the device to sleep mode.
void | ZDO_SleepInd (void)
Indicates to an application that the stack is ready to sleep.
void | ZDO_SleepResp (void)
Responds to the stack that an application is ready to sleep.
void | ZDO_WakeUpInd (void)
Indicates to an application that the stack sleep timer has fired.
void | ZDO_WakeUpReq (ZDO_WakeUpReq_t *req)
Forces the stack to wake up from the sleep mode.
void | ZDO_ZdpReq (ZDO_ZdpReq_t *zdpReq)
Send ZDP request.
void | ZDO_GetLqiRssi (ZDO_GetLqiRssi_t *lqiRssi)
Request of LQI and RSSI.
void | ZDO_GetParentAddr (NodeAddr_t *parentAddr)
Request of parent information.
void | ZDO_GetChildrenAddr (ZDO_GetChildrenAddr_t *childrenAddr)
Request of children information.
void | ZDO_SetTxPowerReq (ZDO_SetTxPowerReq_t *req)
Setting of tx power.
ZDO_NwkStatus_t ZDO_GetNwkStatus ()
Gets the network status.
void | ZDO_GetNeibAmount (ZDO_GetNeibAmount_t *amount)
Gets neighbor routers and children amount.
void | ZDO_GetNeibTable (ZDO_Neib_t *table)
Gets the neighbor table.
ZDO_Status_t | ZDO_StartSyncReq (void)
Start sending sync requests.
ZDO_Status_t | ZDO_StopSyncReq (void)
Stop sending sync requests.

Detailed Description

The header file describes the public ZDO interface and ZDO types.

Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
Copyright (c) 2008 , Atmel Corporation. All rights reserved. Licensed under Atmel's Limited License Agreement (BitCloudTM).

Definition in file zdo.h.

Define Documentation

#define ZDO_MGMT_ED_SCAN_DUR_0 0x00

Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.

Definition at line 201 of file zdo.h.

#define ZDO_MGMT_ED_SCAN_DUR_1 0x01

Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.

Definition at line 202 of file zdo.h.

#define ZDO_MGMT_ED_SCAN_DUR_2 0x02

Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.

Definition at line 203 of file zdo.h.

#define ZDO_MGMT_ED_SCAN_DUR_3 0x03

Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.

Definition at line 204 of file zdo.h.

#define ZDO_MGMT_ED_SCAN_DUR_4 0x04

Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.

Definition at line 205 of file zdo.h.

#define ZDO_MGMT_ED_SCAN_DUR_5 0x05

Used as a value for ZDO_MgmtNwkUpdateReq_t::scanDuration.

Definition at line 206 of file zdo.h.

#define ZDO_MGMT_CHANNEL_CHANGE 0xFE

Used as a special value for ZDO_MgmtNwkUpdateReq_t::scanDuration.

Definition at line 207 of file zdo.h.

#define ZDO_MGMT_NWK_PARAMS_CHANGE 0xFF

Used as a special value for ZDO_MgmtNwkUpdateReq_t::scanDuration.

Definition at line 208 of file zdo.h.

Enumeration Type Documentation

enum NetLostReason_t

Reasons of device leaving.

Enumerator:
LEAVED_BY_PARENT
LINK_FAIL
LEAVE_REQ

Definition at line 54 of file zdo.h.

enum ZDO_Status_t

ZDO result status primitives.

Enumerator:
ZDO_SUCCESS_STATUS | The primitive has finished successfully.
ZDO_INVALID_PARAMETERS_STATUS | Wrong parameters were put into the primitive.
ZDO_NOT_PERMITTED_STATUS | Calling the primitive is not permitted.
ZDO_BUSY_STATUS | ZDO layer is busy and cannot execute the primitive.
ZDO_NO_NETWORKS_STATUS | No network was found.
ZDO_EXTPANID_ALREADY_EXIST_STATUS | There is a network with the same extended PANID.
ZDO_FAIL_STATUS | Unknown error.
ZDO_AUTHENTICATION_SUCCESS_STATUS
ZDO_AUTHENTICATION_FAIL_STATUS
ZDO_SECURITY_SUCCESS_STATUS
ZDO_SECURITY_FAIL_STATUS
ZDO_SECURITY_NOT_SUPPORTED_STATUS
ZDO_CMD_COMPLETED_STATUS
ZDO_INVALID_REQUEST_STATUS | ZDP request is invalid.
ZDO_DEVICE_NOT_FOUND_STATUS | Requested device was not found.
ZDO_INVALID_EP_STATUS | Unsupported endpoint of 0x00 or between 0xF1 and 0xFF was requested.
ZDO_NOT_ACTIVE_STATUS | Requested endpoint has not been registered.
ZDO_NOT_SUPPORTED_STATUS | Requested optional feature is not supported.
ZDO_TIMEOUT_STATUS | Timeout occured during the requested operation.
ZDO_NO_MATCH_STATUS | End device bind request is unsuccessful due to a failure to match any suitable clusters.
ZDO_NO_ENTRY_STATUS | Unbind request is unsuccessful.
ZDO_NO_DESCRIPTOR_STATUS | Child descriptor is not available.
ZDO_INSUFFICIENT_SPACE_STATUS | Device does not have enough storage space.
ZDO_RESPONSE_WAIT_TIMEOUT_STATUS
ZDO_TABLE_FULL_STATUS | Device does not have enough table space.
ZDO_NOT_AUTHORIZED_STATUS | Request is not authorized from this device.
ZDO_NWK_UPDATE_STATUS | Network parameters have been updated (channel, PanId, shortAddr...).
ZDO_NETWORK_STARTED_STATUS | Device has joined/rejoined a network and data can be transmitted.
ZDO_NETWORK_LOST_STATUS | Device has lost connection with a parent and the stack tries rejoin by itself. In this case transmission should be stopped.
ZDO_NETWORK_LEFT_STATUS | Device has left a network. If autonetwork option is on, the stack will rejoin a network. Otherwise, an application should rejoin.
ZDO_CHILD_JOINED_STATUS | New device has joined a network as a child of this device.
ZDO_CHILD_REMOVED_STATUS | Child has been removed from children list.
ZDO_USER_DESCRIPTOR_UPDATE_STATUS | User descriptor is changed event.
ZDO_STATIC_ADDRESS_CONFLICT_STATUS | On the device with static addressing the conflict of network addresses has been detected.

Definition at line 64 of file zdo.h.

anonymous enum

Types of response to address request.

Enumerator:
SINGLE_RESPONSE_REQUESTTYPE
EXTENDED_RESPONSE_REQUESTTYPE

Definition at line 132 of file zdo.h.

anonymous enum

The ZDP clusters ID list.

The ZDP cluster ID determines the type of ZDP request/confirm

Enumerator:
NWK_ADDR_CLID | Request for the 16-bit address of a remote device based on its known IEEE address.
IEEE_ADDR_CLID | Request for the 64-bit IEEE address of a remote device based on its known 16-bit address.
NODE_DESCRIPTOR_CLID | Request for the node descriptor of a remote device.
POWER_DESCRIPTOR_CLID | Request for the power descriptor of a remote device.
SIMPLE_DESCRIPTOR_CLID | Request for the simple descriptor of a remote device on the specified endpoint.
ACTIVE_ENDPOINTS_CLID | Request for the list of endpoints on a remote device with simple descriptors.
MATCH_DESCRIPTOR_CLID | Request for remote devices supporting a specific simple descriptor match criterion.
COMPLEX_DESCRIPTOR_CLID | Request for the complex descriptor of a remote device.
USER_DESCRIPTOR_CLID | Request for the user descriptor of a remote device.
DISCOVERY_CASH_CLID | Request to locate a Primary Discovery Cache device on the network.
DEVICE_ANNCE_CLID | Request to notify other ZigBee devices on the network that the device has joined or re-joined the network.
USER_DESC_CONF_CLID | Command to configure the user descriptor on a remote device.
SYSTEM_SERVER_DISCOVERY_CLID | Request for the location of a particular system server or servers.
DISCOVERY_STORE_CLID | Request for the storage of the device's discovery cache information on a Primary Discovery Cache device.
NODE_DESC_STORE_CLID | Request for the storage of the device's Node Descriptor on a Primary Discovery Cache device.
POWER_DESC_STORE_CLID | Request for the storage of the device's Descriptor on a Primary Discovery Cache device.
ACTIVE_EP_STORE_CLID | Request for the storage of the device's list of Active Endpoints on a Primary Discovery Cache device.
SIMPLE_DESC_STORE_CLID | Request for the storage of the device's list of Simple Descriptors on a Primary Discovery Cache device.
REMOVE_NODE_CACHE_CLID | Command for removal of discovery cache information for a specified ZigBee end device from a Primary Discovery Cache device.
FIND_NODE_CACHE_CLID | Request for a device on the network that holds discovery information for the device of interest.
EXTENDED_SIMPLE_DESC_CLID | Request for the simple descriptor of a remote device on the specified endpoint, to be used with devices which support more active endpoints than can be returned by a single SIMPLE_DESCRIPTOR_CLID request.
EXTENDED_ACTIVE_EP_CLID | Request for the list of endpoints on a remote device with simple descriptors, to be used with devices which support more active endpoints than can be returned by a single ACTIVE_ENDPOINTS_CLID request.
END_DEVICE_BIND_CLID | Request generated from a Local Device wishing to perform End Device Bind with a Remote Device.
BIND_CLID | Request generated from a Local Device wishing to create a Binding Table entry for the source and destination addresses contained as parameters.
UNBIND_CLID | Request generated from a Local Device wishing to remove a Binding Table entry for the source and destination addresses contained as parameters.
BIND_REGISTER_CLID | Request generated from a Local Device and sent to a primary binding table cache device to register that the local device wishes to hold its own binding table entries.
REPLACE_DEVICE_CLID | Request sent to a primary binding table cache device to change all binding table entries which match OldAddress and OldEndpoint as specified.
STORE_BCKUP_BIND_ENTRY_CLID | Request generated from a local primary binding table cache and sent to a remote backup binding table cache device to request backup storage of the entry.
REMOVE_BCKUP_BIND_ENTRY_CLID | Request generated from a local primary binding table cache and sent to a remote backup binding table cache device to request removal of the entry from backup storage.
BACKUP_BIND_TABLE_CLID | Request generated from a local primary binding table cache and sent to the remote backup binding table cache device to request backup storage of its entire binding table.
RECOVER_BIND_TABLE_CLID | Request generated from a local primary binding table cache and sent to a remote backup binding table cache device when it wants a complete restore of the binding table.
BACKUP_SOURCE_BIND_CLID | Request generated from a local primary binding table cache and sent to a remote backup binding table cache device to request backup storage of its entire source table.
RECOVER_SOURCE_BIND_CLID | Request generated from a local primary binding table cache and sent to the remote backup binding table cache device when it wants a complete restore of the source binding table.
MGMT_NWK_DISC_CLID | Request generated from a Local Device requesting that the Remote Device execute a Scan to report back networks in the vicinity of the Local Device.
MGMT_LQI_CLID | Request generated from a Local Device wishing to obtain a neighbor list for the Remote Device along with associated LQI values to each neighbor.
MGMT_RTG_CLID | Request generated from a Local Device wishing to retrieve the contents of the Routing Table from the Remote Device.
MGMT_BIND_CLID | Request generated from a Local Device wishing to retrieve the contents of the Binding Table from the Remote Device.
MGMT_LEAVE_CLID | Request generated from a Local Device requesting that a Remote Device leave the network or to request that another device leave the network.
MGMT_DIRECT_JOIN_CLID | Request generated from a Local Device requesting that a Remote Device permit a device designated by DeviceAddress to join the network directly.
MGMT_PERMIT_JOINING_CLID | Request generated from a Local Device requesting that a remote device or devices allow or disallow association.
MGMT_CACHE_CLID | Request The Mgmt_Cache_req is provided to enable ZigBee devices on the network to retrieve a list of ZigBee End Devices registered with a Primary Discovery Cache device.
MGMT_NWK_UPDATE_CLID | Command provided to allow updating of network configuration parameters or to request information from devices on network conditions in the local operating environment.

Definition at line 143 of file zdo.h.

enum AddrMode_t

Possible address modes.

Enumerator:
SHORT_ADDR_MODE | Short address.
EXT_ADDR_MODE | Extended address.

Definition at line 195 of file zdo.h.

enum ZDO_NwkStatus_t

List of network status.

Enumerator:
ZDO_IN_NETWORK_STATUS | device is in the network
ZDO_OUT_NETWORK_STATUS | device is out of the network

Definition at line 1037 of file zdo.h.

Function Documentation

void ZDO_StartNetworkReq ( ZDO_StartNetworkReq_t * startingParams )

Starts network for coordinator and joins the network for router.

This function forms a network for coordinator and joins an existing network for router or end device.

Parameters:
[in] startingParams - Determines the network parameters for join and formation

void ZDO_ResetNetworkReq ( ZDO_ResetNetworkReq_t * resetParams )

Resets the stack without any commands to the network.

This function resets the stack to default state. No data is send to the network.

Parameters:
[in] resetParams - Determines the parameters of the request

void ZDO_MgmtNwkUpdateNotf ( ZDO_MgmtNwkUpdateNotf_t * nwkParams )

Indicates about network parameters update.

The function should be defined by an application. It is called when the device has resolved address/panid conflict or rejoined the network

Parameters:
[out] nwkParams - Describes the reason of network update and new parameters.

void ZDO_SleepReq ( ZDO_SleepReq_t * req )

Puts the device to sleep mode.

This function can be used only when the active period in Config Server is set to 0. The time of sleep period is determined by CS_END_DEVICE_SLEEP_PERIOD in Config Server.

Parameters:
[in] req - Determines the sleep parameters.

void ZDO_SleepInd ( void )

Indicates to an application that the stack is ready to sleep.

After this function the stack is waiting for response. An application should stop and close all HW activities, sending data and commands to the stack and wait all confirmations from the stack, after which the application should call ZDO_SleepResp.

void ZDO_SleepResp ( void )

Responds to the stack that an application is ready to sleep.

The function should be called in response to ZDO_SleepInd. It can be called only after stopping all HW and stack activities. On receiving this function call, stack goes to sleep mode.

void ZDO_WakeUpInd ( void )

Indicates to an application that the stack sleep timer has fired.

If the stack is in sleep mode, it wakes up and is ready to work. Application can continue its activities.

void ZDO_WakeUpReq ( ZDO_WakeUpReq_t * req )

Forces the stack to wake up from the sleep mode.

This function is used by an application when the sleep timer is not used and an application is woken up from sleep mode by an external interrupt.

Parameters:
[in] req - Determines the parameters of the wakeup request

void ZDO_ZdpReq ( ZDO_ZdpReq_t * zdpReq )

Send ZDP request.

This function is used by an application to send ZDP request.

Parameters:
[in] zdpReq - Determines the parameters of the ZDP request

void ZDO_GetLqiRssi ( ZDO_GetLqiRssi_t * lqiRssi )

Request of LQI and RSSI.

This function requests LQI and RSSI for a remote node whose address is contained in ZDO_GetLqiRssi_t::nodeAddr. If called for an unknown node (i.e. with no link established to it), will return zeros.

Parameters:
[in] lqiRssi - Determines the parameters of the request.

void ZDO_GetParentAddr ( NodeAddr_t * parentAddr )

Request of parent information.

This function requests parent information of the node.

Parameters:
[in] parentAddr - Determines the parameters of the request.

void ZDO_GetChildrenAddr ( ZDO_GetChildrenAddr_t * childrenAddr )

Request of children information.

This function requests children information of the node.

Parameters:
[in] childrenAddr - Determines the parameters of the request.

void ZDO_SetTxPowerReq ( ZDO_SetTxPowerReq_t * req )

Setting of tx power.

This function sets tx power.

Parameters:
[in] req - Determines the parameters of the request.

ZDO_NwkStatus_t ZDO_GetNwkStatus ( )

Gets the network status.

This function returns network status.

Returns:
- network status

void ZDO_GetNeibAmount ( ZDO_GetNeibAmount_t * amount )

Gets neighbor routers and children amount.

Parameters:
[out] amount - routers and children amount information

void ZDO_GetNeibTable ( ZDO_Neib_t * table )

Gets the neighbor table.

Parameters:
[out] table - neighbor table

ZDO_Status_t ZDO_StartSyncReq ( void )

Start sending sync requests.

Returns:
- ZDO status. The primitive returns one of following values:
  • ZDO_SUCCESS_STATUS
  • ZDO_BUSY_STATUS

ZDO_Status_t ZDO_StopSyncReq ( void )

Stop sending sync requests.

Returns:
- ZDO status. The primitive returns one of following values:
  • ZDO_SUCCESS_STATUS
  • ZDO_INVALID_REQUEST_STATUS


BitCloud Stack Documentation: zdo.h Source File

  • File List
  • Globals

zdo.h

Go to the documentation of this file.
00001 /************************************************************************/
00017 #ifndef _ZDO_H
00018 #define _ZDO_H
00019
00020 #include <macAddr.h>
00021 #include <appFramework.h>
00022 #include <aps.h>
00023 #include <configServer.h>
00024
00025 // \cond internal
00026 #define ZDP_REQUEST_MASK  0x7FFF
00027 #define ZDP_RESPONSE_MASK 0x8000
00028
00029 #ifdef _SECURITY_
00030 #define PRECONFIGURED_NETWORK_KEY 0
00031 #define PRECONFIGURED_TRUST_CENTER_LINK_KEY 1
00032 #define PRECONFIGURED_TRUST_CENTER_MASTER_KEY 2
00033 #define NOT_PRECONFIGURED 3
00034
00035 #ifndef ZDO_SECURITY_STATUS
00036 #define ZDO_SECURITY_STATUS NOT_PRECONFIGURED
00037 #endif //ZDO_SECURITY_STATUS
00038
00039
00040 #define ZDO_NONE_SECURITY_MODE     0
00041 #define ZDO_STANDARD_SECURITY_MODE 1
00042 #define ZDO_HIGH_SECURITY_MODE     2
00043 #endif//_SECURITY_
00044
00045 #define MAX_REQUESTED_CLUSTER_NUMBER 9
00046 #define MAX_ACTIVE_EP_NUMBER 3
00047
00048 #define ZDP_NEIGBOR_TABLE_LIST_SIZE  3
00049 #define ZDP_ADDR_LIST_SIZE  10
00050 // \endcond
00051 /********************************************************************************/
00054 typedef enum
00055 {
00056   LEAVED_BY_PARENT,
00057   LINK_FAIL,
00058   LEAVE_REQ
00059 } NetLostReason_t;
00060
00064 typedef enum
00065 {
00067   ZDO_SUCCESS_STATUS                = 0x00,
00069   ZDO_INVALID_PARAMETERS_STATUS     = 0x01,
00071   ZDO_NOT_PERMITTED_STATUS          = 0x03,
00073   ZDO_BUSY_STATUS                   = 0x04,
00075   ZDO_NO_NETWORKS_STATUS            = 0x05,
00077   ZDO_EXTPANID_ALREADY_EXIST_STATUS = 0x06,
00079   ZDO_FAIL_STATUS                   = 0x07,
00080   ZDO_AUTHENTICATION_SUCCESS_STATUS = 0x08,
00081   ZDO_AUTHENTICATION_FAIL_STATUS    = 0x09,
00082   ZDO_SECURITY_SUCCESS_STATUS       = 0x0A,
00083   ZDO_SECURITY_FAIL_STATUS          = 0x0B,
00084   ZDO_SECURITY_NOT_SUPPORTED_STATUS = 0x0C,
00085   ZDO_CMD_COMPLETED_STATUS          = 0x0D,
00087   ZDO_INVALID_REQUEST_STATUS        = 0x80,
00089   ZDO_DEVICE_NOT_FOUND_STATUS       = 0x81,
00091   ZDO_INVALID_EP_STATUS             = 0x82,
00093   ZDO_NOT_ACTIVE_STATUS             = 0x83,
00095   ZDO_NOT_SUPPORTED_STATUS          = 0x84,
00097   ZDO_TIMEOUT_STATUS                = 0x85,
00099   ZDO_NO_MATCH_STATUS               = 0x86,
00101   ZDO_NO_ENTRY_STATUS               = 0x88,
00103   ZDO_NO_DESCRIPTOR_STATUS          = 0x89,
00105   ZDO_INSUFFICIENT_SPACE_STATUS     = 0x8A,
00106   ZDO_RESPONSE_WAIT_TIMEOUT_STATUS  = 0x8B,
00108   ZDO_TABLE_FULL_STATUS             = 0x8C,
00110   ZDO_NOT_AUTHORIZED_STATUS         = 0x8D,
00112   ZDO_NWK_UPDATE_STATUS             = 0x8E,
00114   ZDO_NETWORK_STARTED_STATUS        = 0x8F,
00116   ZDO_NETWORK_LOST_STATUS           = 0x90,
00118   ZDO_NETWORK_LEFT_STATUS           = 0x91,
00120   ZDO_CHILD_JOINED_STATUS           = 0x92,
00122   ZDO_CHILD_REMOVED_STATUS          = 0x93,
00124   ZDO_USER_DESCRIPTOR_UPDATE_STATUS = 0x94,
00126   ZDO_STATIC_ADDRESS_CONFLICT_STATUS = 0x95
00127 } ZDO_Status_t;
00128
00129 /********************************************************************************/
00132 enum
00133 {
00134   SINGLE_RESPONSE_REQUESTTYPE   = 0x00,
00135   EXTENDED_RESPONSE_REQUESTTYPE = 0x01
00136 };
00137
00143 enum
00144 {
00145 // Device and Service Discovery commands
00146   NWK_ADDR_CLID                = 0x0000,
00147   IEEE_ADDR_CLID               = 0x0001,
00148   NODE_DESCRIPTOR_CLID         = 0x0002,
00149   POWER_DESCRIPTOR_CLID        = 0x0003,
00150   SIMPLE_DESCRIPTOR_CLID       = 0x0004,
00151   ACTIVE_ENDPOINTS_CLID        = 0x0005,
00152   MATCH_DESCRIPTOR_CLID        = 0x0006,
00153   COMPLEX_DESCRIPTOR_CLID      = 0x0010,
00154   USER_DESCRIPTOR_CLID         = 0x0011,
00155   DISCOVERY_CASH_CLID          = 0x0012,
00156   DEVICE_ANNCE_CLID            = 0x0013,
00157   USER_DESC_CONF_CLID          = 0x0014,
00158   SYSTEM_SERVER_DISCOVERY_CLID = 0x0015,
00159   DISCOVERY_STORE_CLID         = 0x0016,
00160   NODE_DESC_STORE_CLID         = 0x0017,
00161   POWER_DESC_STORE_CLID        = 0x0018,
00162   ACTIVE_EP_STORE_CLID         = 0x0019,
00163   SIMPLE_DESC_STORE_CLID       = 0x001A,
00164   REMOVE_NODE_CACHE_CLID       = 0x001B,
00165   FIND_NODE_CACHE_CLID         = 0x001C,
00166   EXTENDED_SIMPLE_DESC_CLID    = 0x001D,
00167   EXTENDED_ACTIVE_EP_CLID      = 0x001E,
00168 // Bind client manager commands
00169   END_DEVICE_BIND_CLID         = 0x0020,
00170   BIND_CLID                    = 0x0021,
00171   UNBIND_CLID                  = 0x0022,
00172   BIND_REGISTER_CLID           = 0x0023,
00173   REPLACE_DEVICE_CLID          = 0x0024,
00174   STORE_BCKUP_BIND_ENTRY_CLID  = 0x0025,
00175   REMOVE_BCKUP_BIND_ENTRY_CLID = 0x0026,
00176   BACKUP_BIND_TABLE_CLID       = 0x0027,
00177   RECOVER_BIND_TABLE_CLID      = 0x0028,
00178   BACKUP_SOURCE_BIND_CLID      = 0x0029,
00179   RECOVER_SOURCE_BIND_CLID     = 0x002A,
00180 // Network Management Client Services commands
00181   MGMT_NWK_DISC_CLID           = 0x0030,
00182   MGMT_LQI_CLID                = 0x0031,
00183   MGMT_RTG_CLID                = 0x0032,
00184   MGMT_BIND_CLID               = 0x0033,
00185   MGMT_LEAVE_CLID              = 0x0034,
00186   MGMT_DIRECT_JOIN_CLID        = 0x0035,
00187   MGMT_PERMIT_JOINING_CLID     = 0x0036,
00188   MGMT_CACHE_CLID              = 0x0037,
00189   MGMT_NWK_UPDATE_CLID         = 0x0038
00190 };
00191
00192 /********************************************************************************/
00195 typedef enum
00196 {
00197   SHORT_ADDR_MODE,
00198   EXT_ADDR_MODE
00199 } AddrMode_t;
00200
00201 #define  ZDO_MGMT_ED_SCAN_DUR_0  0x00
00202 #define  ZDO_MGMT_ED_SCAN_DUR_1  0x01
00203 #define  ZDO_MGMT_ED_SCAN_DUR_2  0x02
00204 #define  ZDO_MGMT_ED_SCAN_DUR_3  0x03
00205 #define  ZDO_MGMT_ED_SCAN_DUR_4  0x04
00206 #define  ZDO_MGMT_ED_SCAN_DUR_5  0x05
00207 #define  ZDO_MGMT_CHANNEL_CHANGE  0xFE
00208 #define  ZDO_MGMT_NWK_PARAMS_CHANGE  0xFF
00209
00210 /********************************************************************************/
00213 typedef struct
00214 {
00215   ShortAddr_t shortAddr;
00216   ExtAddr_t   extAddr;
00217 } NodeAddr_t;
00218
00219 /********************************************************************************/
00222 typedef struct
00223 {
00224   uint8_t       activeChannel;
00225   ShortAddr_t   shortAddr;
00226   PanId_t       PANId;
00227   uint64_t      extPANId;
00228   ShortAddr_t   parentAddr;
00229   ZDO_Status_t  status;
00230 } ZDO_StartNetworkConf_t;
00231
00232 /********************************************************************************/
00235 typedef struct
00236 {
00237   ZDO_StartNetworkConf_t confParams;
00238   void (*ZDO_StartNetworkConf)(ZDO_StartNetworkConf_t *conf);
00239 } ZDO_StartNetworkReq_t;
00240
00241 /********************************************************************************/
00244 typedef struct
00245 {
00246   ZDO_Status_t  status;
00247 } ZDO_ResetNetworkConf_t;
00248
00249 /********************************************************************************/
00252 typedef struct
00253 {
00254   ZDO_ResetNetworkConf_t confParams;
00255   void (*ZDO_ResetNetworkConf)(ZDO_ResetNetworkConf_t *conf);
00256 } ZDO_ResetNetworkReq_t;
00257
00258 /********************************************************************************/
00265 BEGIN_PACK
00266 typedef struct PACK
00267 {
00268   uint32_t        scannedChannels;
00269   uint16_t        totalTransmissions;
00270   uint16_t        transmissionsFailures;
00271   uint8_t         scannedChannelsListCount;
00272   uint8_t         energyValues[32];
00275 } EDScan_t;
00276 END_PACK
00277
00278 /********************************************************************************/
00282 typedef struct
00283 {
00284   ShortAddr_t parentShortAddr;
00285   PanId_t     panId;
00286   uint8_t     currentChannel;
00287   ShortAddr_t shortAddr;
00288 } NetworkInf_t;
00289
00290 /********************************************************************************/
00293 BEGIN_PACK
00294 typedef struct PACK
00295 {
00309   uint8_t status;
00310   union PACK
00311   {
00313     ShortAddr_t  conflictAddress;
00315     EDScan_t     scanResult;
00317     NetworkInf_t nwkUpdateInf;
00319     NodeAddr_t   childAddr;
00320   };
00321 } ZDO_MgmtNwkUpdateNotf_t;
00322 END_PACK
00323
00324 /********************************************************************************/
00327 BEGIN_PACK
00328 typedef struct PACK
00329 {
00330   uint8_t   neighborTableEntries;
00331   uint8_t   startIndex;
00332   uint8_t   neighborTableListCount;
00333   struct PACK
00334   {
00335     ExtPanId_t       extPanId;
00336     ExtAddr_t        extAddr;
00337     ShortAddr_t      networkAddr;
00338     uint8_t          deviceType : 2;
00339     uint8_t          rxOnWhenIdle : 2;
00340     uint8_t          relationship : 3;
00341     uint8_t          reserved1 : 1;
00342     uint8_t          permitJoining : 2;
00343     uint8_t          reserved2 : 6;
00344     uint8_t          depth;
00345     uint8_t          lqi;
00346   } neighborTableList[ZDP_NEIGBOR_TABLE_LIST_SIZE];
00347 } ZDO_MgmtLqiResp_t;
00348 END_PACK
00349
00350 /********************************************************************************/
00353 typedef struct
00354 {
00355   uint8_t   startIndex;
00356 } ZDO_MgmtLqiReq_t;
00357
00358 /********************************************************************************/
00361 typedef struct
00362 {
00365   ZDO_Status_t status;
00366 } ZDO_SleepConf_t;
00367
00368 /********************************************************************************/
00371 typedef struct
00372 {
00373   ZDO_SleepConf_t confirm;
00374   void (*ZDO_SleepConf)(ZDO_SleepConf_t *conf);
00375 } ZDO_SleepReq_t;
00376
00377 /********************************************************************************/
00380 typedef struct
00381 {
00382   ZDO_Status_t status;
00383 } ZDO_WakeUpConf_t;
00384
00385 /********************************************************************************/
00388 typedef struct
00389 {
00390   ZDO_WakeUpConf_t confirm;
00391   void (*ZDO_WakeUpConf)(ZDO_WakeUpConf_t *conf);
00392 } ZDO_WakeUpReq_t;
00393
00394 /********************************************************************************/
00400 BEGIN_PACK
00401 typedef struct PACK
00402 {
00404   ExtAddr_t ieeeAddrOfInterest;
00409   uint8_t   reqType;
00415   uint8_t   startIndex;
00416 } ZDO_NwkAddrReq_t;
00417
00418 /********************************************************************************/
00423 typedef struct PACK
00424 {
00426   ShortAddr_t nwkAddrOfInterest;
00431   uint8_t reqType;
00437   uint8_t startIndex;
00438 } ZDO_IeeeAddrReq_t;
00439
00440 /********************************************************************************/
00446 typedef struct PACK
00447 {
00448   ShortAddr_t nwkAddrOfInterest;
00449 } ZDO_NodeDescReq_t;
00450
00451 /********************************************************************************/
00457 typedef struct PACK
00458 {
00459   ShortAddr_t nwkAddrOfInterest;
00460 } ZDO_PowerDescReq_t;
00461
00462 /********************************************************************************/
00468 typedef struct PACK
00469 {
00470   ShortAddr_t nwkAddrOfInterest;
00471 } ZDO_ActiveEPReq_t;
00472
00473 /********************************************************************************/
00479 typedef struct PACK
00480 {
00481   ShortAddr_t nwkAddrOfInterest;
00482 } ZDO_ComplexDescReq_t;
00483
00484 /********************************************************************************/
00490 typedef struct PACK
00491 {
00492   ShortAddr_t nwkAddrOfInterest;
00493 } ZDO_UserDescReq_t;
00494
00495 /********************************************************************************/
00501 typedef struct PACK
00502 {
00503   ShortAddr_t nwkAddrOfInterest;
00504   UserDescriptor_t userDescriptor;
00505 } ZDO_UserDescSetReq_t;
00506
00507 /********************************************************************************/
00513 typedef struct PACK
00514 {
00515   ShortAddr_t nwkAddrOfInterest;
00516   Endpoint_t  endpoint;
00517 } ZDO_SimpleDescReq_t;
00518
00519 /********************************************************************************/
00529 typedef struct PACK
00530 {
00531   ShortAddr_t nwkAddrLocal;
00532   ExtAddr_t   ieeeAddrLocal;
00533   uint8_t     macCapability;
00534 } ZDO_DeviceAnnceReq_t;
00535
00536 /********************************************************************************/
00542 typedef struct PACK
00543 {
00544   uint16_t serverMask;
00545 } ZDO_SystemServerDiscoveryReq_t;
00546
00547 #ifdef _BINDING_
00548 typedef struct PACK
00549 {
00550   ShortAddr_t nwkAddrOfInterest;
00551   ProfileId_t profileId;
00552   uint8_t     numInClusters;
00553   ClusterId_t inClusterList[MAX_REQUESTED_CLUSTER_NUMBER];
00554   uint8_t     numOutClusters;
00555   ClusterId_t outClusterList[MAX_REQUESTED_CLUSTER_NUMBER];
00556 } ZDO_MatchDescReq_t;
00557 #endif // _BINDING_
00558
00559 /********************************************************************************/
00566 typedef struct PACK
00567 {
00568   ExtAddr_t deviceAddr;
00569   uint8_t   reserved : 6;
00570
00575   uint8_t   removeChildren : 1;
00581   uint8_t   rejoin : 1;
00582 } ZDO_MgmtLeaveReq_t;
00583
00584 /********************************************************************************/
00588 typedef struct PACK
00589 {
00595   uint8_t permitDuration;
00602   uint8_t tcSignificance;
00603 } ZDO_MgmtPermitJoiningReq_t;
00604
00605 /********************************************************************************/
00611 typedef struct PACK
00612 {
00616   uint32_t    scanChannels;
00625   uint8_t     scanDuration;
00626   union PACK
00627   {
00633     uint8_t     scanCount;
00640     uint8_t     nwkUpdateId;
00641   };
00645   ShortAddr_t nwkManagerAddr;
00646 } ZDO_MgmtNwkUpdateReq_t;
00647
00648 /********************************************************************************/
00654 typedef struct PACK
00655 {
00657   ExtAddr_t   ieeeAddrRemote;
00659   ShortAddr_t nwkAddrRemote;
00667   uint8_t     numAssocDev;
00673   uint8_t     startIndex;
00684   ShortAddr_t nwkAddrAssocDevList[ZDP_ADDR_LIST_SIZE];
00685 } ZDO_NwkAddrResp_t;
00686
00687 /********************************************************************************/
00693 typedef struct PACK
00694 {
00696   ExtAddr_t   ieeeAddrRemote;
00698   ShortAddr_t nwkAddrRemote;
00706   uint8_t     numAssocDev;
00713   uint8_t     startIndex;
00722   ShortAddr_t nwkAddrAssocDevList[ZDP_ADDR_LIST_SIZE];
00723 } ZDO_IeeeAddrResp_t;
00724
00725 /********************************************************************************/
00730 typedef struct PACK
00731 {
00732   ShortAddr_t      nwkAddrOfInterest;
00733   NodeDescriptor_t nodeDescriptor;
00734 } ZDO_NodeDescResp_t;
00735
00736 /********************************************************************************/
00741 typedef struct PACK
00742 {
00743   ShortAddr_t       nwkAddrOfInterest;
00744   PowerDescriptor_t powerDescriptor;
00745 } ZDO_PowerDescResp_t;
00746
00747 /********************************************************************************/
00752 typedef struct PACK
00753 {
00754   ShortAddr_t      nwkAddrOfInterest;
00755 } ZDO_ComplexDescResp_t;
00756
00757 /********************************************************************************/
00762 typedef struct PACK
00763 {
00764   ShortAddr_t      nwkAddrOfInterest;
00765   UserDescriptor_t  userDescriptor;
00766 } ZDO_UserDescResp_t;
00767
00768 /********************************************************************************/
00773 typedef struct PACK
00774 {
00775   ShortAddr_t      nwkAddrOfInterest;
00776 } ZDO_UserDescConfResp_t;
00777
00778 /********************************************************************************/
00783 typedef struct PACK
00784 {
00785   ShortAddr_t nwkAddrOfInterest;
00786   uint8_t     activeEPCount;
00787   uint8_t     activeEPList[MAX_ACTIVE_EP_NUMBER];
00788 } ZDO_ActiveEPResp_t;
00789
00790 /********************************************************************************/
00794 typedef struct PACK
00795 {
00799   Endpoint_t   endpoint;
00803   ProfileId_t  AppProfileId;
00807   uint16_t     AppDeviceId;
00810   uint8_t      AppDeviceVersion : 4;
00811   uint8_t      Reserved         : 4;
00816   uint8_t      AppInClustersCount;
00823   ClusterId_t  AppInClustersList[MAX_REQUESTED_CLUSTER_NUMBER];
00828   uint8_t      AppOutClustersCount;
00835   ClusterId_t  AppOutClustersList[MAX_REQUESTED_CLUSTER_NUMBER];
00836
00837 } ZdpSimpleDescriptor_t;
00838
00839 /********************************************************************************/
00844 typedef struct PACK
00845 {
00846   ShortAddr_t           nwkAddrOfInterest;
00847   uint8_t               length;
00848   ZdpSimpleDescriptor_t simpleDescriptor;
00849 } ZDO_SimpleDescResp_t;
00850
00851 /********************************************************************************/
00863 typedef struct PACK
00864 {
00865   uint16_t      serverMask;
00866 } ZDO_SystemServerDiscoveryResp_t;
00867
00868 #ifdef _BINDING_
00869 typedef struct PACK
00870 {
00871   ShortAddr_t nwkAddrOfInterest;
00872   uint8_t     matchLength;
00873   uint8_t     matchList[MAX_REQUESTED_CLUSTER_NUMBER];
00874 } ZDO_MatchDescResp_t;
00875 #endif // _BINDING_
00876
00877 /********************************************************************************/
00880 typedef struct PACK
00881 {
00882   uint8_t seqNum;
00883   // user part
00884   uint8_t status;
00885   union PACK
00886   {
00887     ZDO_NwkAddrResp_t               nwkAddrResp;
00888     ZDO_IeeeAddrResp_t              ieeeAddrResp;
00889     ZDO_NodeDescResp_t              nodeDescResp;
00890     ZDO_PowerDescResp_t             powerDescResp;
00891     ZDO_SimpleDescResp_t            simpleDescResp;
00892     ZDO_ComplexDescResp_t           complexDescResp;
00893     ZDO_UserDescResp_t              userDescResp;
00894     ZDO_ActiveEPResp_t              activeEPResp;
00895     ZDO_UserDescConfResp_t          userDescConfResp;
00896     ZDO_SystemServerDiscoveryResp_t systemServerDiscoveryResp;
00897 #ifdef _BINDING_
00898     ZDO_MatchDescResp_t             matchDescResp;
00899 #endif // _BINDING_
00900     ZDO_MgmtNwkUpdateNotf_t         mgmtNwkUpdateNotf;
00901     ZDO_MgmtLqiResp_t               mgmtLqiResp;
00902   };
00903 } ZDO_ZdpRespFrame_t;
00904
00905 /********************************************************************************/
00908 typedef struct PACK
00909 {
00910   uint8_t seqNum;
00911   // user part
00912   union PACK
00913   {
00914     ZDO_NwkAddrReq_t               nwkAddrReq;
00915     ZDO_IeeeAddrReq_t              ieeeAddrReq;
00916     ZDO_NodeDescReq_t              nodeDescReq;
00917     ZDO_PowerDescReq_t             powerDescReq;
00918     ZDO_SimpleDescReq_t            simpleDescReq;
00919     ZDO_DeviceAnnceReq_t           deviceAnnce;
00920     ZDO_ActiveEPReq_t              activeEPReq;
00921     ZDO_ComplexDescReq_t           complexDescReq;
00922     ZDO_UserDescReq_t              userDescReq;
00923     ZDO_UserDescSetReq_t           userDescSetReq;
00924     ZDO_SystemServerDiscoveryReq_t systemServerDiscoveryReq;
00925 #ifdef _BINDING_
00926     ZDO_MatchDescReq_t             matchDescReq;
00927 #endif // _BINDING_
00928     ZDO_MgmtLeaveReq_t             mgmtLeaveReq;
00929     ZDO_MgmtPermitJoiningReq_t     mgmtPermitJoiningReq;
00930     ZDO_MgmtNwkUpdateReq_t         mgmtNwkUpdateReq;
00931     ZDO_MgmtNwkUpdateNotf_t        mgmtNwkUpdateNotf;
00932     ZDO_MgmtLqiReq_t               mgmtLqiReq;
00933   };
00934 } ZDO_ZdpReqFrame_t;
00935
00936 /********************************************************************************/
00939 typedef struct PACK
00940 {
00941   // reserved
00942   uint8_t       header[APS_ASDU_OFFSET];
00943   union PACK
00944   {
00945     ZDO_ZdpRespFrame_t respPayload;
00946     ZDO_ZdpReqFrame_t  reqPayload;
00947   };
00948 } ZDO_ZdpFrame_t;
00949 END_PACK
00950
00951 /********************************************************************************/
00954 typedef struct
00955 {
00956   AddrMode_t     srcAddrMode;
00957   union
00958   {
00959     ShortAddr_t  srcNwkAddr;
00960     ExtAddr_t    srcExtAddr;
00961   };
00962   ZDO_ZdpRespFrame_t respPayload;
00963 } ZDO_ZdpResp_t;
00964
00965 /********************************************************************************/
00968 typedef struct
00969 {
00970   // Service fields
00971   struct
00972   {
00973     void *next;
00974   } service;
00975
00976   // Address fields
00977   uint16_t   reqCluster;
00978   AddrMode_t dstAddrMode;
00979   union
00980   {
00981     ShortAddr_t  dstNwkAddr;
00982     ExtAddr_t    dstExtAddr;
00983   };
00984   // ZDP frame for sending out
00985   ZDO_ZdpFrame_t req;
00986   //Callback and Response
00987   void (*ZDO_ZdpResp)(ZDO_ZdpResp_t *zdpResp);
00988   ZDO_ZdpResp_t resp;
00989 } ZDO_ZdpReq_t;
00990
00991 /********************************************************************************/
00994 typedef struct
00995 {
00996   ShortAddr_t  nodeAddr;
00997   uint8_t      lqi;
00999   int8_t      rssi;
01003 } ZDO_GetLqiRssi_t;
01004
01005 /********************************************************************************/
01008 typedef struct
01009 {
01010   uint8_t childrenCount;
01011   NodeAddr_t *childrenTable;
01012 } ZDO_GetChildrenAddr_t;
01013
01014 /********************************************************************************/
01017 typedef struct
01018 {
01019   ZDO_Status_t status;
01020 } ZDO_SetTxPowerConf_t;
01021
01022 /********************************************************************************/
01025 typedef struct
01026 {
01027   uint8_t txPower;
01030   void (* ZDO_SetTxPowerConf)(ZDO_SetTxPowerConf_t *conf);
01031   ZDO_SetTxPowerConf_t confirm;
01032 } ZDO_SetTxPowerReq_t;
01033
01034 /********************************************************************************/
01037 typedef enum
01038 {
01039   ZDO_IN_NETWORK_STATUS,
01040   ZDO_OUT_NETWORK_STATUS
01041 } ZDO_NwkStatus_t;
01042
01043 /********************************************************************************/
01046 typedef struct
01047 {
01048   uint8_t routersAmount;
01049   uint8_t childrenAmount;
01050 } ZDO_GetNeibAmount_t;
01051
01052 /********************************************************************************/
01055 typedef struct
01056 {
01057   ShortAddr_t           shortAddr;
01058   ExtAddr_t             extAddr;
01059   DeviceType_t          deviceType;
01060   uint8_t               lqi;
01061   int8_t                rssi;
01062   bool                  rxOnWhenIdle;
01063   Relationship_t        relationship;
01064   ExtPanId_t            extPanId;
01065   uint8_t               logicalChannel;
01066   uint8_t               depth;
01067   bool                  permitJoining;
01068   bool                  potentialParent;
01069 } ZDO_Neib_t;
01070
01071 #ifdef _SECURITY_
01072 #ifdef _HIGH_SECURITY_
01073 typedef struct
01074 {
01075   ZDO_Status_t status;
01076 } ZDO_EndToEndAppKeyConf_t;
01077
01078 typedef struct
01079 {
01080   ExtAddr_t deviceAddr;
01081   void (*ZDO_EndToEndAppKeyConf)(ZDO_EndToEndAppKeyConf_t *conf);
01082   ZDO_EndToEndAppKeyConf_t confirm;
01083 } ZDO_EndToEndAppKeyReq_t;
01084 #endif // _HIGH_SECURITY_
01085 #endif // _SECURITY_
01086
01087 /************************************************************************************
01088   Primitives declarations.
01089  ***********************************************************************************/
01090
01091 /*********************************************************************************/
01098 void ZDO_StartNetworkReq(ZDO_StartNetworkReq_t *startingParams);
01099
01100 /**********************************************************************************/
01107 void ZDO_ResetNetworkReq(ZDO_ResetNetworkReq_t *resetParams);
01108
01109 /**********************************************************************************/
01117 void ZDO_MgmtNwkUpdateNotf(ZDO_MgmtNwkUpdateNotf_t * nwkParams);
01118
01119 /*************************************************************************************/
01127 void ZDO_SleepReq(ZDO_SleepReq_t *req);
01128
01129 /**************************************************************************************/
01137 void ZDO_SleepInd(void);
01138
01139 /*************************************************************************************/
01146 void ZDO_SleepResp(void);
01147
01148 /*************************************************************************************/
01154 void ZDO_WakeUpInd(void);
01155
01156 /*************************************************************************************/
01164 void ZDO_WakeUpReq(ZDO_WakeUpReq_t *req);
01165
01166 /*************************************************************************************/
01173 void ZDO_ZdpReq(ZDO_ZdpReq_t *zdpReq);
01174
01175 /*************************************************************************************/
01184 void ZDO_GetLqiRssi(ZDO_GetLqiRssi_t *lqiRssi);
01185
01186 /*************************************************************************************/
01193 void ZDO_GetParentAddr(NodeAddr_t *parentAddr);
01194
01195 /*************************************************************************************/
01202 void ZDO_GetChildrenAddr(ZDO_GetChildrenAddr_t *childrenAddr);
01203
01204 /*************************************************************************************/
01211 void ZDO_SetTxPowerReq(ZDO_SetTxPowerReq_t *req);
01212
01213 /*************************************************************************************/
01220 ZDO_NwkStatus_t ZDO_GetNwkStatus();
01221
01222 /*************************************************************************************/
01227 void ZDO_GetNeibAmount(ZDO_GetNeibAmount_t *amount);
01228
01229 /*************************************************************************************/
01234 void ZDO_GetNeibTable(ZDO_Neib_t *table);
01235
01236 /*************************************************************************************/
01243 ZDO_Status_t  ZDO_StartSyncReq(void);
01244
01245 /*************************************************************************************/
01252 ZDO_Status_t  ZDO_StopSyncReq(void);
01253
01254 #endif  /* _ZDO_H */
01255


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- a -

  • ACTIVE_ENDPOINTS_CLID : zdo.h
  • ACTIVE_EP_STORE_CLID : zdo.h
  • AddrMode_t : zdo.h
  • APL_TaskHandler() : taskManager.h
  • APS_AddGroupReq() : aps.h
  • APS_AddrMode_t : aps.h
  • APS_AFFIX_LENGTH : aps.h
  • APS_AIB_BINDING_TABLE : aps.h
  • APS_AIB_CHANNEL_MASK : aps.h
  • APS_AIB_DESIGNATED_COORDINATOR : aps.h
  • APS_AIB_DEVICE_KEY_PAIR_SET : aps.h
  • APS_AIB_GROUP_TABLE : aps.h
  • APS_AIB_INTERFRAME_DELAY : aps.h
  • APS_AIB_NONMEMBER_RADIUS : aps.h
  • APS_AIB_PERMISSIONS_CONFIGURATION : aps.h
  • APS_AIB_SECURITY_TIME_OUT_PERIOD : aps.h
  • APS_AIB_TRUST_CENTER_ADDRESS : aps.h
  • APS_AIB_USE_EXTENDED_PANID : aps.h
  • APS_AIB_USE_INSECURE_JOIN : aps.h
  • APS_AibAttributeId_t : aps.h
  • APS_ASDU_OFFSET : aps.h
  • APS_ASDU_TOO_LONG_STATUS : aps.h
  • APS_BROADCAST_ENDPOINT : aps.h
  • APS_CalculateTimes() : aps.h
  • APS_DataReq() : aps.h
  • APS_DEFRAG_DEFERRED_STATUS : aps.h
  • APS_DEFRAG_UNSUPPORTED_STATUS : aps.h
  • APS_EXT_ADDRESS : aps.h
  • APS_GetEndpointList() : aps.h
  • APS_GetReq() : aps.h
  • APS_GROUP_ADDRESS : aps.h
  • APS_ILLEGAL_REQUEST_STATUS : aps.h
  • APS_INVALID_BINDING_STATUS : aps.h
  • APS_INVALID_GROUP_STATUS : aps.h
  • APS_INVALID_PARAMETER_STATUS : aps.h
  • APS_MAX_ASDU_SIZE : aps.h
  • APS_MAX_DATA_FRAME_FOOTER_LENGTH : aps.h
  • APS_MAX_DATA_FRAME_HEADER_LENGTH : aps.h
  • APS_MAX_USER_ENDPOINT : aps.h
  • APS_MIN_USER_ENDPOINT : aps.h
  • APS_NO_ACK_STATUS : aps.h
  • APS_NO_ADDRESS : aps.h
  • APS_NO_BOUND_DEVICE_STATUS : aps.h
  • APS_NO_SHORT_ADDRESS_STATUS : aps.h
  • APS_NOT_INDICATED_STATUS : aps.h
  • APS_NOT_SUPPORTED_STATUS : aps.h
  • APS_RegisterEndpointReq() : aps.h
  • APS_RemoveAllGroupsReq() : aps.h
  • APS_RemoveGroupReq() : aps.h
  • APS_ResumeEndpointIndication() : aps.h
  • APS_SECURED_LINK_KEY_STATUS : aps.h
  • APS_SECURED_NWK_KEY_STATUS : aps.h
  • APS_SECURITY_FAIL_STATUS : aps.h
  • APS_SetReq() : aps.h
  • APS_SHORT_ADDRESS : aps.h
  • APS_SKKE_BAD_FRAME_STATUS : aps.h
  • APS_SKKE_INVALID_CHALLENGE_STATUS : aps.h
  • APS_SKKE_INVALID_KEY_STATUS : aps.h
  • APS_SKKE_INVALID_MAC_STATUS : aps.h
  • APS_SKKE_INVALID_PARAMETER_STATUS : aps.h
  • APS_SKKE_INVALID_SKG_STATUS : aps.h
  • APS_SKKE_NO_MASTER_KEY_STATUS : aps.h
  • APS_SKKE_SUCCESS_STATUS : aps.h
  • APS_SKKE_TIMEOUT_STATUS : aps.h
  • APS_SkkeStatus_t : aps.h
  • APS_Status_t : aps.h
  • APS_StopEndpointIndication() : aps.h
  • APS_SUCCESS_STATUS : aps.h
  • APS_TABLE_FULL_STATUS : aps.h
  • APS_UnregisterEndpointReq() : aps.h
  • APS_UNSECURED_STATUS : aps.h
  • APS_UNSUPPORTED_ATTRIBUTE_STATUS : aps.h
  • AREF : adc.h
  • AVCC : adc.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- l -

  • LEAVE_REQ : zdo.h
  • LEAVED_BY_PARENT : zdo.h
  • LED_BLUE : leds.h
  • LED_EIGHTH : leds.h
  • LED_FIFTH : leds.h
  • LED_FIRST : leds.h
  • LED_FOURTH : leds.h
  • LED_GREEN : leds.h
  • LED_RED : leds.h
  • LED_SECOND : leds.h
  • LED_SEVENTH : leds.h
  • LED_SIXTH : leds.h
  • LED_THIRD : leds.h
  • LED_YELLOW : leds.h
  • LINK_FAIL : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- m -

  • MAC_CAP_ALLOCATE_ADDRESS : appFramework.h
  • MAC_CAP_ALTERNATE_PAN_COORDINATOR : appFramework.h
  • MAC_CAP_DEVICE_TYPE_FFD : appFramework.h
  • MAC_CAP_POWER_SOURCE_MAINS : appFramework.h
  • MAC_CAP_RX_ON_WHEN_IDLE : appFramework.h
  • MAC_CAP_SECURITY_CAPABLE : appFramework.h
  • MAINS_POWER : appFramework.h
  • MATCH_DESCRIPTOR_CLID : zdo.h
  • MGMT_BIND_CLID : zdo.h
  • MGMT_CACHE_CLID : zdo.h
  • MGMT_DIRECT_JOIN_CLID : zdo.h
  • MGMT_LEAVE_CLID : zdo.h
  • MGMT_LQI_CLID : zdo.h
  • MGMT_NWK_DISC_CLID : zdo.h
  • MGMT_NWK_UPDATE_CLID : zdo.h
  • MGMT_PERMIT_JOINING_CLID : zdo.h
  • MGMT_RTG_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- n -

  • NetLostReason_t : zdo.h
  • NODE_DESC_STORE_CLID : zdo.h
  • NODE_DESCRIPTOR_CLID : zdo.h
  • NWK_ADDR_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- z -

  • ZDO_AUTHENTICATION_FAIL_STATUS : zdo.h
  • ZDO_AUTHENTICATION_SUCCESS_STATUS : zdo.h
  • ZDO_BUSY_STATUS : zdo.h
  • ZDO_CHILD_JOINED_STATUS : zdo.h
  • ZDO_CHILD_REMOVED_STATUS : zdo.h
  • ZDO_CMD_COMPLETED_STATUS : zdo.h
  • ZDO_DEVICE_NOT_FOUND_STATUS : zdo.h
  • ZDO_EXTPANID_ALREADY_EXIST_STATUS : zdo.h
  • ZDO_FAIL_STATUS : zdo.h
  • ZDO_GetChildrenAddr() : zdo.h
  • ZDO_GetLqiRssi() : zdo.h
  • ZDO_GetNeibAmount() : zdo.h
  • ZDO_GetNeibTable() : zdo.h
  • ZDO_GetNwkStatus() : zdo.h
  • ZDO_GetParentAddr() : zdo.h
  • ZDO_IN_NETWORK_STATUS : zdo.h
  • ZDO_INSUFFICIENT_SPACE_STATUS : zdo.h
  • ZDO_INVALID_EP_STATUS : zdo.h
  • ZDO_INVALID_PARAMETERS_STATUS : zdo.h
  • ZDO_INVALID_REQUEST_STATUS : zdo.h
  • ZDO_MGMT_CHANNEL_CHANGE : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_0 : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_1 : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_2 : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_3 : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_4 : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_5 : zdo.h
  • ZDO_MGMT_NWK_PARAMS_CHANGE : zdo.h
  • ZDO_MgmtNwkUpdateNotf() : zdo.h
  • ZDO_NETWORK_LEFT_STATUS : zdo.h
  • ZDO_NETWORK_LOST_STATUS : zdo.h
  • ZDO_NETWORK_STARTED_STATUS : zdo.h
  • ZDO_NO_DESCRIPTOR_STATUS : zdo.h
  • ZDO_NO_ENTRY_STATUS : zdo.h
  • ZDO_NO_MATCH_STATUS : zdo.h
  • ZDO_NO_NETWORKS_STATUS : zdo.h
  • ZDO_NOT_ACTIVE_STATUS : zdo.h
  • ZDO_NOT_AUTHORIZED_STATUS : zdo.h
  • ZDO_NOT_PERMITTED_STATUS : zdo.h
  • ZDO_NOT_SUPPORTED_STATUS : zdo.h
  • ZDO_NWK_UPDATE_STATUS : zdo.h
  • ZDO_NwkStatus_t : zdo.h
  • ZDO_OUT_NETWORK_STATUS : zdo.h
  • ZDO_ResetNetworkReq() : zdo.h
  • ZDO_RESPONSE_WAIT_TIMEOUT_STATUS : zdo.h
  • ZDO_SECURITY_FAIL_STATUS : zdo.h
  • ZDO_SECURITY_NOT_SUPPORTED_STATUS : zdo.h
  • ZDO_SECURITY_SUCCESS_STATUS : zdo.h
  • ZDO_SetTxPowerReq() : zdo.h
  • ZDO_SleepInd() : zdo.h
  • ZDO_SleepReq() : zdo.h
  • ZDO_SleepResp() : zdo.h
  • ZDO_StartNetworkReq() : zdo.h
  • ZDO_StartSyncReq() : zdo.h
  • ZDO_STATIC_ADDRESS_CONFLICT_STATUS : zdo.h
  • ZDO_Status_t : zdo.h
  • ZDO_StopSyncReq() : zdo.h
  • ZDO_SUCCESS_STATUS : zdo.h
  • ZDO_TABLE_FULL_STATUS : zdo.h
  • ZDO_TIMEOUT_STATUS : zdo.h
  • ZDO_USER_DESCRIPTOR_UPDATE_STATUS : zdo.h
  • ZDO_WakeUpInd() : zdo.h
  • ZDO_WakeUpReq() : zdo.h
  • ZDO_ZdpReq() : zdo.h
  • ZDP_USER_DESC_FIELD_SIZE : appFramework.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- b -

  • BACKUP_BIND_TABLE_CLID : zdo.h
  • BACKUP_SOURCE_BIND_CLID : zdo.h
  • BIND_CLID : zdo.h
  • BIND_REGISTER_CLID : zdo.h
  • BSP_CloseBatterySensor() : sensors.h
  • BSP_CloseButtons() : buttons.h
  • BSP_CloseLeds() : leds.h
  • BSP_CloseLightSensor() : sensors.h
  • BSP_CloseTemperatureSensor() : sensors.h
  • BSP_OffLed() : leds.h
  • BSP_OnLed() : leds.h
  • BSP_OpenBatterySensor() : sensors.h
  • BSP_OpenButtons() : buttons.h
  • BSP_OpenLeds() : leds.h
  • BSP_OpenLightSensor() : sensors.h
  • BSP_OpenTemperatureSensor() : sensors.h
  • BSP_ReadBatteryData() : sensors.h
  • BSP_ReadButtonsState() : buttons.h
  • BSP_ReadLightData() : sensors.h
  • BSP_ReadSliders() : sliders.h
  • BSP_ReadTemperatureData() : sensors.h
  • BSP_ToggleLed() : leds.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- c -

  • ClusterId_t : appFramework.h
  • COMPLEX_DESCRIPTOR_CLID : zdo.h
  • CRITICAL_0 : appFramework.h
  • CS_ACK_TIMEOUT : configServer.h
  • CS_ACK_TIMEOUT_ID : configServer.h
  • CS_ADDRESS_ASSIGNMENT_METHOD_ID : configServer.h
  • CS_ADDRESS_MAP_TABLE_SIZE : configServer.h
  • CS_ADDRESS_MAP_TABLE_SIZE_ID : configServer.h
  • CS_APS_ACK_FRAME_BUFFER_SIZE_ID : configServer.h
  • CS_APS_DATA_REQ_BUFFER_SIZE_ID : configServer.h
  • CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT : configServer.h
  • CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT_ID : configServer.h
  • CS_APS_GROUP_TABLE_GROUPS_AMOUNT : configServer.h
  • CS_APS_GROUP_TABLE_GROUPS_AMOUNT_ID : configServer.h
  • CS_APS_SECURITY_BUFFERS_AMOUNT_ID : configServer.h
  • CS_APS_SECURITY_TIMEOUT_PERIOD_ID : configServer.h
  • CS_APS_TRUST_CENTER_ADDRESS : configServer.h
  • CS_APS_TRUST_CENTER_ADDRESS_ID : configServer.h
  • CS_AUTO_POLL_ID : configServer.h
  • CS_BTT_SIZE_ID : configServer.h
  • CS_CHANNEL_MASK : configServer.h
  • CS_CHANNEL_MASK_ID : configServer.h
  • CS_CHANNEL_PAGE : configServer.h
  • CS_CHANNEL_PAGE_ID : configServer.h
  • CS_COMPLEX_DESCRIPTOR_AVAILABLE : configServer.h
  • CS_COMPLEX_DESCRIPTOR_AVAILABLE_ID : configServer.h
  • CS_DEVICE_TYPE : configServer.h
  • CS_DEVICE_TYPE_ID : configServer.h
  • CS_DTR_WAKEUP_ID : configServer.h
  • CS_DUPLICATE_REJECTION_TABLE_SIZE : configServer.h
  • CS_DUPLICATE_REJECTION_TABLE_SIZE_ID : configServer.h
  • CS_ENCRYPTION_TIME : configServer.h
  • CS_END_DEVICE_SLEEP_PERIOD : configServer.h
  • CS_END_DEVICE_SLEEP_PERIOD_ID : configServer.h
  • CS_EXT_PANID : configServer.h
  • CS_EXT_PANID_ID : configServer.h
  • CS_INDIRECT_POLL_RATE : configServer.h
  • CS_INDIRECT_POLL_RATE_ID : configServer.h
  • CS_MAC_FRAME_RX_BUFFER_SIZE_ID : configServer.h
  • CS_MAC_TRANSACTION_TIME_ID : configServer.h
  • CS_MANUFACTURER_CODE_ID : configServer.h
  • CS_MAX_AIR_SPEED : configServer.h
  • CS_MAX_CHILDREN_AMOUNT : configServer.h
  • CS_MAX_CHILDREN_AMOUNT_ID : configServer.h
  • CS_MAX_CHILDREN_ROUTER_AMOUNT : configServer.h
  • CS_MAX_CHILDREN_ROUTER_AMOUNT_ID : configServer.h
  • CS_MAX_FRAME_TRANSMISSION_TIME_ID : configServer.h
  • CS_MAX_NETWORK_DEPTH : configServer.h
  • CS_MAX_NETWORK_DEPTH_ID : configServer.h
  • CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT_ID : configServer.h
  • CS_NEIB_TABLE_SIZE : configServer.h
  • CS_NEIB_TABLE_SIZE_ID : configServer.h
  • CS_NETWORK_KEY : configServer.h
  • CS_NETWORK_KEY_ID : configServer.h
  • CS_NWK_ADDR : configServer.h
  • CS_NWK_ADDR_ID : configServer.h
  • CS_NWK_DATA_IND_BUFFER_SIZE_ID : configServer.h
  • CS_NWK_DATA_REQ_BUFFER_SIZE_ID : configServer.h
  • CS_NWK_END_DEVICE_MAX_FAILURES_ID : configServer.h
  • CS_NWK_EXT_PANID : configServer.h
  • CS_NWK_EXT_PANID_ID : configServer.h
  • CS_NWK_LOGICAL_CHANNEL_ID : configServer.h
  • CS_NWK_MAX_LINK_STATUS_FAILURES_ID : configServer.h
  • CS_NWK_PANID_ID : configServer.h
  • CS_NWK_PREDEFINED_PANID_ID : configServer.h
  • CS_NWK_UNIQUE_ADDR : configServer.h
  • CS_NWK_UNIQUE_ADDR_ID : configServer.h
  • CS_NWK_USE_MULTICAST : configServer.h
  • CS_NWK_USE_MULTICAST_ID : configServer.h
  • CS_PACKET_PROCESS_INSIDE : configServer.h
  • CS_ParameterId_t : configServer.h
  • CS_PERMIT_DURATION : configServer.h
  • CS_PERMIT_DURATION_ID : configServer.h
  • CS_PROTOCOL_VERSION_ID : configServer.h
  • CS_ReadParameter() : configServer.h
  • CS_RF_TX_POWER : configServer.h
  • CS_RF_TX_POWER_ID : configServer.h
  • CS_ROUTE_DISCOVERY_OBJ_SIZE_ID : configServer.h
  • CS_ROUTE_DISCOVERY_TABLE_SIZE : configServer.h
  • CS_ROUTE_DISCOVERY_TABLE_SIZE_ID : configServer.h
  • CS_ROUTE_TABLE_SIZE : configServer.h
  • CS_ROUTE_TABLE_SIZE_ID : configServer.h
  • CS_RX_ON_WHEN_IDLE_ID : configServer.h
  • CS_SCAN_DURATION : configServer.h
  • CS_SCAN_DURATION_ID : configServer.h
  • CS_SECURITY_ALL_FRAMES_ID : configServer.h
  • CS_SECURITY_LEVEL_ID : configServer.h
  • CS_SECURITY_ON_ID : configServer.h
  • CS_SOFT_RESET_REASON : configServer.h
  • CS_SOFT_RESET_REASON_ID : configServer.h
  • CS_STACK_PROFILE_ID : configServer.h
  • CS_UID : configServer.h
  • CS_UID_ID : configServer.h
  • CS_USER_DESCRIPTOR_AVAILABLE : configServer.h
  • CS_USER_DESCRIPTOR_AVAILABLE_ID : configServer.h
  • CS_WriteParameter() : configServer.h
  • CS_ZDO_SECURITY_STATUS : configServer.h
  • CS_ZDO_SECURITY_STATUS_ID : configServer.h
  • CS_ZDP_USER_DESCRIPTOR_ID : configServer.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- d -

  • DEVICE_ANNCE_CLID : zdo.h
  • DEVICE_TYPE_COORDINATOR : appFramework.h
  • DEVICE_TYPE_END_DEVICE : appFramework.h
  • DEVICE_TYPE_ROUTER : appFramework.h
  • DeviceType_t : appFramework.h
  • DISCOVERY_CASH_CLID : zdo.h
  • DISCOVERY_STORE_CLID : zdo.h
  • DISPOSABLE_BATTERY : appFramework.h
  • DS2411 : w1.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- e -

  • END_DEVICE_BIND_CLID : zdo.h
  • Endpoint_t : appFramework.h
  • EXT_ADDR_MODE : zdo.h
  • EXT_LIST_ACTIVE_EP : appFramework.h
  • EXT_LIST_SIMPLE_DESC : appFramework.h
  • EXTENDED_ACTIVE_EP_CLID : zdo.h
  • EXTENDED_RESPONSE_REQUESTTYPE : zdo.h
  • EXTENDED_SIMPLE_DESC_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- f -

  • FIND_NODE_CACHE_CLID : zdo.h
  • FREQUENCY_BAND_2400 : appFramework.h
  • FREQUENCY_BAND_868 : appFramework.h
  • FREQUENCY_BAND_902 : appFramework.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- g -

  • GroupAddr_t : appFramework.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- h -

  • HAL_AdcVoltageReference_t : adc.h
  • HAL_AlarmSearchW1Device() : w1.h
  • HAL_AppTimer_t : appTimer.h
  • HAL_CloseAdc() : adc.h
  • HAL_CloseI2cPacket() : i2cPacket.h
  • HAL_CloseSpi() : spi.h
  • HAL_CloseUart() : uart.h
  • HAL_ConfigureEndpoint() : usb.h
  • HAL_ConvertToSleepInterval() : sleepTimer.h
  • HAL_DisableIrq() : irq.h
  • HAL_EnableIrq() : irq.h
  • HAL_GetState() : usb.h
  • HAL_GetSystemTime() : appTimer.h
  • HAL_Halt() : usb.h
  • HAL_I2C_PRESCALER : i2cPacket.h
  • HAL_IrqMode_t : irq.h
  • HAL_IrqNumber_t : irq.h
  • HAL_IsEepromBusy() : eeprom.h
  • HAL_IsHalted() : usb.h
  • HAL_IsTxEmpty() : uart.h
  • HAL_OffUartCts() : uart.h
  • HAL_OnUartCts() : uart.h
  • HAL_OpenAdc() : adc.h
  • HAL_OpenI2cPacket() : i2cPacket.h
  • HAL_OpenSpi() : spi.h
  • HAL_OpenUart() : uart.h
  • HAL_ReadAdc() : adc.h
  • HAL_ReadEeprom() : eeprom.h
  • HAL_ReadI2cPacket() : i2cPacket.h
  • HAL_ReadResetReason() : resetReason.h
  • HAL_ReadUart() : uart.h
  • HAL_ReadUartDtr() : uart.h
  • HAL_ReadUartRts() : uart.h
  • HAL_ReadUid() : uid.h
  • HAL_ReadW1() : w1.h
  • HAL_RegisterEndOfBusResetHandler() : usb.h
  • HAL_RegisterIrq() : irq.h
  • HAL_RegisterRequestHandler() : usb.h
  • HAL_RegisterResumeHandler() : usb.h
  • HAL_RegisterSuspendHandler() : usb.h
  • HAL_RegisterWdtCallback() : wdtCtrl.h
  • HAL_ResetW1() : w1.h
  • HAL_SearchW1Device() : w1.h
  • HAL_SetAddress() : usb.h
  • HAL_SetConfiguration() : usb.h
  • HAL_SleepTimer_t : sleepTimer.h
  • HAL_Stall() : usb.h
  • HAL_StartAppTimer() : appTimer.h
  • HAL_StartSleepTimer() : sleepTimer.h
  • HAL_StartWdt() : wdtCtrl.h
  • HAL_StopAppTimer() : appTimer.h
  • HAL_StopSleepTimer() : sleepTimer.h
  • HAL_Unhalt() : usb.h
  • HAL_UnregisterIrq() : irq.h
  • HAL_UsbInit() : usb.h
  • HAL_UsbRead() : usb.h
  • HAL_UsbWrite() : usb.h
  • HAL_WarmReset() : resetReason.h
  • HAL_WriteEeprom() : eeprom.h
  • HAL_WriteI2cPacket() : i2cPacket.h
  • HAL_WriteSpi() : spi.h
  • HAL_WriteUart() : uart.h
  • HAL_WriteW1() : w1.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- i -

  • IEEE_ADDR_CLID : zdo.h
  • INTERNAL_1d1V : adc.h
  • INTERNAL_2d56V : adc.h
  • IRQ_0 : irq.h
  • IRQ_1 : irq.h
  • IRQ_2 : irq.h
  • IRQ_3 : irq.h
  • IRQ_4 : irq.h
  • IRQ_5 : irq.h
  • IRQ_6 : irq.h
  • IRQ_7 : irq.h
  • IRQ_ANY_EDGE : irq.h
  • IRQ_FALLING_EDGE : irq.h
  • IRQ_HIGH_LEVEL : irq.h
  • IRQ_LOW_LEVEL : irq.h
  • IRQ_RISING_EDGE : irq.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- p -

  • PDS_CRC_ERROR : pdsDataServer.h
  • PDS_DataServerState_t : pdsDataServer.h
  • PDS_EEPROM_BUSY : pdsDataServer.h
  • PDS_EEPROM_ERROR : pdsDataServer.h
  • PDS_FlushData() : pdsDataServer.h
  • PDS_INVALID_REQUEST : pdsDataServer.h
  • PDS_ReadUserData() : pdsDataServer.h
  • PDS_SetToDefault() : pdsDataServer.h
  • PDS_SUCCESS : pdsDataServer.h
  • PDS_WriteUserData() : pdsDataServer.h
  • PERCENT_100 : appFramework.h
  • PERCENT_33 : appFramework.h
  • PERCENT_66 : appFramework.h
  • POWER_DESC_STORE_CLID : zdo.h
  • POWER_DESCRIPTOR_CLID : zdo.h
  • PowerMode_t : appFramework.h
  • PowerSource_t : appFramework.h
  • PowerSourceLevel_t : appFramework.h
  • ProfileId_t : appFramework.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- r -

  • RECEIVER_COMES_PERIODICALLY : appFramework.h
  • RECEIVER_COMES_WHEN_STIMULATED : appFramework.h
  • RECEIVER_SYNCRONIZED_WHEN_ON_IDLE : appFramework.h
  • RECHARGEABLE_BATTERY : appFramework.h
  • RECOVER_BIND_TABLE_CLID : zdo.h
  • RECOVER_SOURCE_BIND_CLID : zdo.h
  • REMOVE_BCKUP_BIND_ENTRY_CLID : zdo.h
  • REMOVE_NODE_CACHE_CLID : zdo.h
  • REPLACE_DEVICE_CLID : zdo.h
  • RESOLUTION_10_BIT : adc.h
  • RESOLUTION_8_BIT : adc.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- s -

  • SERVER_MASK_BACKUP_BINDING_TABLE_CACHE : appFramework.h
  • SERVER_MASK_BACKUP_DISCOVERY_CACHE : appFramework.h
  • SERVER_MASK_BACKUP_TRUST_CENTER : appFramework.h
  • SERVER_MASK_NETWORK_MANAGER : appFramework.h
  • SERVER_MASK_NO_SERVER : appFramework.h
  • SERVER_MASK_PRIMARY_BINDING_TABLE_CACHE : appFramework.h
  • SERVER_MASK_PRIMARY_DISCOVERY_CACHE : appFramework.h
  • SERVER_MASK_PRIMARY_TRUST_CENTER : appFramework.h
  • SHORT_ADDR_MODE : zdo.h
  • SIMPLE_DESC_STORE_CLID : zdo.h
  • SIMPLE_DESCRIPTOR_CLID : zdo.h
  • SINGLE_RESPONSE_REQUESTTYPE : zdo.h
  • SLIDER0 : sliders.h
  • SLIDER1 : sliders.h
  • SLIDER2 : sliders.h
  • SLIDER3 : sliders.h
  • STORE_BCKUP_BIND_ENTRY_CLID : zdo.h
  • SYS_PostTask() : taskManager.h
  • SYSTEM_SERVER_DISCOVERY_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- t -

  • TAG_DEVICE_URL : appFramework.h
  • TAG_ICON : appFramework.h
  • TAG_ICON_URL : appFramework.h
  • TAG_LANGUAGE_AND_CHARACTER_SET : appFramework.h
  • TAG_MANUFACTURER_NAME : appFramework.h
  • TAG_MODEL_NAME : appFramework.h
  • TAG_SERIAL_NUMBER : appFramework.h
  • TransferCallback_t : usb.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- u -

  • UNBIND_CLID : zdo.h
  • USER_DESC_CONF_CLID : zdo.h
  • USER_DESCRIPTOR_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • w
  • z

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- w -

  • W1_ANY_FAMILY : w1.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • c
  • d
  • h
  • l
  • r
  • s
  • w
  • z

- a -

  • APS_AFFIX_LENGTH : aps.h
  • APS_ASDU_OFFSET : aps.h
  • APS_BROADCAST_ENDPOINT : aps.h
  • APS_MAX_ASDU_SIZE : aps.h
  • APS_MAX_DATA_FRAME_FOOTER_LENGTH : aps.h
  • APS_MAX_DATA_FRAME_HEADER_LENGTH : aps.h
  • APS_MAX_USER_ENDPOINT : aps.h
  • APS_MIN_USER_ENDPOINT : aps.h

- c -

  • CS_ACK_TIMEOUT : configServer.h
  • CS_ADDRESS_MAP_TABLE_SIZE : configServer.h
  • CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT : configServer.h
  • CS_APS_GROUP_TABLE_GROUPS_AMOUNT : configServer.h
  • CS_APS_TRUST_CENTER_ADDRESS : configServer.h
  • CS_CHANNEL_MASK : configServer.h
  • CS_CHANNEL_PAGE : configServer.h
  • CS_COMPLEX_DESCRIPTOR_AVAILABLE : configServer.h
  • CS_DEVICE_TYPE : configServer.h
  • CS_DUPLICATE_REJECTION_TABLE_SIZE : configServer.h
  • CS_ENCRYPTION_TIME : configServer.h
  • CS_END_DEVICE_SLEEP_PERIOD : configServer.h
  • CS_EXT_PANID : configServer.h
  • CS_INDIRECT_POLL_RATE : configServer.h
  • CS_MAX_AIR_SPEED : configServer.h
  • CS_MAX_CHILDREN_AMOUNT : configServer.h
  • CS_MAX_CHILDREN_ROUTER_AMOUNT : configServer.h
  • CS_MAX_NETWORK_DEPTH : configServer.h
  • CS_NEIB_TABLE_SIZE : configServer.h
  • CS_NETWORK_KEY : configServer.h
  • CS_NWK_ADDR : configServer.h
  • CS_NWK_EXT_PANID : configServer.h
  • CS_NWK_UNIQUE_ADDR : configServer.h
  • CS_NWK_USE_MULTICAST : configServer.h
  • CS_PACKET_PROCESS_INSIDE : configServer.h
  • CS_PERMIT_DURATION : configServer.h
  • CS_RF_TX_POWER : configServer.h
  • CS_ROUTE_DISCOVERY_TABLE_SIZE : configServer.h
  • CS_ROUTE_TABLE_SIZE : configServer.h
  • CS_SCAN_DURATION : configServer.h
  • CS_SOFT_RESET_REASON : configServer.h
  • CS_UID : configServer.h
  • CS_USER_DESCRIPTOR_AVAILABLE : configServer.h
  • CS_ZDO_SECURITY_STATUS : configServer.h

- d -

  • DS2411 : w1.h

- h -

  • HAL_I2C_PRESCALER : i2cPacket.h

- l -

  • LED_BLUE : leds.h
  • LED_EIGHTH : leds.h
  • LED_FIFTH : leds.h
  • LED_FIRST : leds.h
  • LED_FOURTH : leds.h
  • LED_GREEN : leds.h
  • LED_RED : leds.h
  • LED_SECOND : leds.h
  • LED_SEVENTH : leds.h
  • LED_SIXTH : leds.h
  • LED_THIRD : leds.h
  • LED_YELLOW : leds.h

- r -

  • RESOLUTION_10_BIT : adc.h
  • RESOLUTION_8_BIT : adc.h

- s -

  • SLIDER0 : sliders.h
  • SLIDER1 : sliders.h
  • SLIDER2 : sliders.h
  • SLIDER3 : sliders.h

- w -

  • W1_ANY_FAMILY : w1.h

- z -

  • ZDO_MGMT_CHANNEL_CHANGE : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_0 : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_1 : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_2 : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_3 : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_4 : zdo.h
  • ZDO_MGMT_ED_SCAN_DUR_5 : zdo.h
  • ZDO_MGMT_NWK_PARAMS_CHANGE : zdo.h
  • ZDP_USER_DESC_FIELD_SIZE : appFramework.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines

  • AddrMode_t : zdo.h
  • APS_AddrMode_t : aps.h
  • APS_AibAttributeId_t : aps.h
  • APS_SkkeStatus_t : aps.h
  • APS_Status_t : aps.h
  • CS_ParameterId_t : configServer.h
  • DeviceType_t : appFramework.h
  • HAL_AdcVoltageReference_t : adc.h
  • HAL_IrqMode_t : irq.h
  • HAL_IrqNumber_t : irq.h
  • NetLostReason_t : zdo.h
  • PDS_DataServerState_t : pdsDataServer.h
  • PowerMode_t : appFramework.h
  • PowerSource_t : appFramework.h
  • PowerSourceLevel_t : appFramework.h
  • ZDO_NwkStatus_t : zdo.h
  • ZDO_Status_t : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- a -

  • ACTIVE_ENDPOINTS_CLID : zdo.h
  • ACTIVE_EP_STORE_CLID : zdo.h
  • APS_AIB_BINDING_TABLE : aps.h
  • APS_AIB_CHANNEL_MASK : aps.h
  • APS_AIB_DESIGNATED_COORDINATOR : aps.h
  • APS_AIB_DEVICE_KEY_PAIR_SET : aps.h
  • APS_AIB_GROUP_TABLE : aps.h
  • APS_AIB_INTERFRAME_DELAY : aps.h
  • APS_AIB_NONMEMBER_RADIUS : aps.h
  • APS_AIB_PERMISSIONS_CONFIGURATION : aps.h
  • APS_AIB_SECURITY_TIME_OUT_PERIOD : aps.h
  • APS_AIB_TRUST_CENTER_ADDRESS : aps.h
  • APS_AIB_USE_EXTENDED_PANID : aps.h
  • APS_AIB_USE_INSECURE_JOIN : aps.h
  • APS_ASDU_TOO_LONG_STATUS : aps.h
  • APS_DEFRAG_DEFERRED_STATUS : aps.h
  • APS_DEFRAG_UNSUPPORTED_STATUS : aps.h
  • APS_EXT_ADDRESS : aps.h
  • APS_GROUP_ADDRESS : aps.h
  • APS_ILLEGAL_REQUEST_STATUS : aps.h
  • APS_INVALID_BINDING_STATUS : aps.h
  • APS_INVALID_GROUP_STATUS : aps.h
  • APS_INVALID_PARAMETER_STATUS : aps.h
  • APS_NO_ACK_STATUS : aps.h
  • APS_NO_ADDRESS : aps.h
  • APS_NO_BOUND_DEVICE_STATUS : aps.h
  • APS_NO_SHORT_ADDRESS_STATUS : aps.h
  • APS_NOT_INDICATED_STATUS : aps.h
  • APS_NOT_SUPPORTED_STATUS : aps.h
  • APS_SECURED_LINK_KEY_STATUS : aps.h
  • APS_SECURED_NWK_KEY_STATUS : aps.h
  • APS_SECURITY_FAIL_STATUS : aps.h
  • APS_SHORT_ADDRESS : aps.h
  • APS_SKKE_BAD_FRAME_STATUS : aps.h
  • APS_SKKE_INVALID_CHALLENGE_STATUS : aps.h
  • APS_SKKE_INVALID_KEY_STATUS : aps.h
  • APS_SKKE_INVALID_MAC_STATUS : aps.h
  • APS_SKKE_INVALID_PARAMETER_STATUS : aps.h
  • APS_SKKE_INVALID_SKG_STATUS : aps.h
  • APS_SKKE_NO_MASTER_KEY_STATUS : aps.h
  • APS_SKKE_SUCCESS_STATUS : aps.h
  • APS_SKKE_TIMEOUT_STATUS : aps.h
  • APS_SUCCESS_STATUS : aps.h
  • APS_TABLE_FULL_STATUS : aps.h
  • APS_UNSECURED_STATUS : aps.h
  • APS_UNSUPPORTED_ATTRIBUTE_STATUS : aps.h
  • AREF : adc.h
  • AVCC : adc.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- l -

  • LEAVE_REQ : zdo.h
  • LEAVED_BY_PARENT : zdo.h
  • LINK_FAIL : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- m -

  • MAC_CAP_ALLOCATE_ADDRESS : appFramework.h
  • MAC_CAP_ALTERNATE_PAN_COORDINATOR : appFramework.h
  • MAC_CAP_DEVICE_TYPE_FFD : appFramework.h
  • MAC_CAP_POWER_SOURCE_MAINS : appFramework.h
  • MAC_CAP_RX_ON_WHEN_IDLE : appFramework.h
  • MAC_CAP_SECURITY_CAPABLE : appFramework.h
  • MAINS_POWER : appFramework.h
  • MATCH_DESCRIPTOR_CLID : zdo.h
  • MGMT_BIND_CLID : zdo.h
  • MGMT_CACHE_CLID : zdo.h
  • MGMT_DIRECT_JOIN_CLID : zdo.h
  • MGMT_LEAVE_CLID : zdo.h
  • MGMT_LQI_CLID : zdo.h
  • MGMT_NWK_DISC_CLID : zdo.h
  • MGMT_NWK_UPDATE_CLID : zdo.h
  • MGMT_PERMIT_JOINING_CLID : zdo.h
  • MGMT_RTG_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- n -

  • NODE_DESC_STORE_CLID : zdo.h
  • NODE_DESCRIPTOR_CLID : zdo.h
  • NWK_ADDR_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- z -

  • ZDO_AUTHENTICATION_FAIL_STATUS : zdo.h
  • ZDO_AUTHENTICATION_SUCCESS_STATUS : zdo.h
  • ZDO_BUSY_STATUS : zdo.h
  • ZDO_CHILD_JOINED_STATUS : zdo.h
  • ZDO_CHILD_REMOVED_STATUS : zdo.h
  • ZDO_CMD_COMPLETED_STATUS : zdo.h
  • ZDO_DEVICE_NOT_FOUND_STATUS : zdo.h
  • ZDO_EXTPANID_ALREADY_EXIST_STATUS : zdo.h
  • ZDO_FAIL_STATUS : zdo.h
  • ZDO_IN_NETWORK_STATUS : zdo.h
  • ZDO_INSUFFICIENT_SPACE_STATUS : zdo.h
  • ZDO_INVALID_EP_STATUS : zdo.h
  • ZDO_INVALID_PARAMETERS_STATUS : zdo.h
  • ZDO_INVALID_REQUEST_STATUS : zdo.h
  • ZDO_NETWORK_LEFT_STATUS : zdo.h
  • ZDO_NETWORK_LOST_STATUS : zdo.h
  • ZDO_NETWORK_STARTED_STATUS : zdo.h
  • ZDO_NO_DESCRIPTOR_STATUS : zdo.h
  • ZDO_NO_ENTRY_STATUS : zdo.h
  • ZDO_NO_MATCH_STATUS : zdo.h
  • ZDO_NO_NETWORKS_STATUS : zdo.h
  • ZDO_NOT_ACTIVE_STATUS : zdo.h
  • ZDO_NOT_AUTHORIZED_STATUS : zdo.h
  • ZDO_NOT_PERMITTED_STATUS : zdo.h
  • ZDO_NOT_SUPPORTED_STATUS : zdo.h
  • ZDO_NWK_UPDATE_STATUS : zdo.h
  • ZDO_OUT_NETWORK_STATUS : zdo.h
  • ZDO_RESPONSE_WAIT_TIMEOUT_STATUS : zdo.h
  • ZDO_SECURITY_FAIL_STATUS : zdo.h
  • ZDO_SECURITY_NOT_SUPPORTED_STATUS : zdo.h
  • ZDO_SECURITY_SUCCESS_STATUS : zdo.h
  • ZDO_STATIC_ADDRESS_CONFLICT_STATUS : zdo.h
  • ZDO_SUCCESS_STATUS : zdo.h
  • ZDO_TABLE_FULL_STATUS : zdo.h
  • ZDO_TIMEOUT_STATUS : zdo.h
  • ZDO_USER_DESCRIPTOR_UPDATE_STATUS : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- b -

  • BACKUP_BIND_TABLE_CLID : zdo.h
  • BACKUP_SOURCE_BIND_CLID : zdo.h
  • BIND_CLID : zdo.h
  • BIND_REGISTER_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- c -

  • COMPLEX_DESCRIPTOR_CLID : zdo.h
  • CRITICAL_0 : appFramework.h
  • CS_ACK_TIMEOUT_ID : configServer.h
  • CS_ADDRESS_ASSIGNMENT_METHOD_ID : configServer.h
  • CS_ADDRESS_MAP_TABLE_SIZE_ID : configServer.h
  • CS_APS_ACK_FRAME_BUFFER_SIZE_ID : configServer.h
  • CS_APS_DATA_REQ_BUFFER_SIZE_ID : configServer.h
  • CS_APS_GROUP_TABLE_ENDPOINTS_AMOUNT_ID : configServer.h
  • CS_APS_GROUP_TABLE_GROUPS_AMOUNT_ID : configServer.h
  • CS_APS_SECURITY_BUFFERS_AMOUNT_ID : configServer.h
  • CS_APS_SECURITY_TIMEOUT_PERIOD_ID : configServer.h
  • CS_APS_TRUST_CENTER_ADDRESS_ID : configServer.h
  • CS_AUTO_POLL_ID : configServer.h
  • CS_BTT_SIZE_ID : configServer.h
  • CS_CHANNEL_MASK_ID : configServer.h
  • CS_CHANNEL_PAGE_ID : configServer.h
  • CS_COMPLEX_DESCRIPTOR_AVAILABLE_ID : configServer.h
  • CS_DEVICE_TYPE_ID : configServer.h
  • CS_DTR_WAKEUP_ID : configServer.h
  • CS_DUPLICATE_REJECTION_TABLE_SIZE_ID : configServer.h
  • CS_END_DEVICE_SLEEP_PERIOD_ID : configServer.h
  • CS_EXT_PANID_ID : configServer.h
  • CS_INDIRECT_POLL_RATE_ID : configServer.h
  • CS_MAC_FRAME_RX_BUFFER_SIZE_ID : configServer.h
  • CS_MAC_TRANSACTION_TIME_ID : configServer.h
  • CS_MANUFACTURER_CODE_ID : configServer.h
  • CS_MAX_CHILDREN_AMOUNT_ID : configServer.h
  • CS_MAX_CHILDREN_ROUTER_AMOUNT_ID : configServer.h
  • CS_MAX_FRAME_TRANSMISSION_TIME_ID : configServer.h
  • CS_MAX_NETWORK_DEPTH_ID : configServer.h
  • CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT_ID : configServer.h
  • CS_NEIB_TABLE_SIZE_ID : configServer.h
  • CS_NETWORK_KEY_ID : configServer.h
  • CS_NWK_ADDR_ID : configServer.h
  • CS_NWK_DATA_IND_BUFFER_SIZE_ID : configServer.h
  • CS_NWK_DATA_REQ_BUFFER_SIZE_ID : configServer.h
  • CS_NWK_END_DEVICE_MAX_FAILURES_ID : configServer.h
  • CS_NWK_EXT_PANID_ID : configServer.h
  • CS_NWK_LOGICAL_CHANNEL_ID : configServer.h
  • CS_NWK_MAX_LINK_STATUS_FAILURES_ID : configServer.h
  • CS_NWK_PANID_ID : configServer.h
  • CS_NWK_PREDEFINED_PANID_ID : configServer.h
  • CS_NWK_UNIQUE_ADDR_ID : configServer.h
  • CS_NWK_USE_MULTICAST_ID : configServer.h
  • CS_PERMIT_DURATION_ID : configServer.h
  • CS_PROTOCOL_VERSION_ID : configServer.h
  • CS_RF_TX_POWER_ID : configServer.h
  • CS_ROUTE_DISCOVERY_OBJ_SIZE_ID : configServer.h
  • CS_ROUTE_DISCOVERY_TABLE_SIZE_ID : configServer.h
  • CS_ROUTE_TABLE_SIZE_ID : configServer.h
  • CS_RX_ON_WHEN_IDLE_ID : configServer.h
  • CS_SCAN_DURATION_ID : configServer.h
  • CS_SECURITY_ALL_FRAMES_ID : configServer.h
  • CS_SECURITY_LEVEL_ID : configServer.h
  • CS_SECURITY_ON_ID : configServer.h
  • CS_SOFT_RESET_REASON_ID : configServer.h
  • CS_STACK_PROFILE_ID : configServer.h
  • CS_UID_ID : configServer.h
  • CS_USER_DESCRIPTOR_AVAILABLE_ID : configServer.h
  • CS_ZDO_SECURITY_STATUS_ID : configServer.h
  • CS_ZDP_USER_DESCRIPTOR_ID : configServer.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- d -

  • DEVICE_ANNCE_CLID : zdo.h
  • DEVICE_TYPE_COORDINATOR : appFramework.h
  • DEVICE_TYPE_END_DEVICE : appFramework.h
  • DEVICE_TYPE_ROUTER : appFramework.h
  • DISCOVERY_CASH_CLID : zdo.h
  • DISCOVERY_STORE_CLID : zdo.h
  • DISPOSABLE_BATTERY : appFramework.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- e -

  • END_DEVICE_BIND_CLID : zdo.h
  • EXT_ADDR_MODE : zdo.h
  • EXT_LIST_ACTIVE_EP : appFramework.h
  • EXT_LIST_SIMPLE_DESC : appFramework.h
  • EXTENDED_ACTIVE_EP_CLID : zdo.h
  • EXTENDED_RESPONSE_REQUESTTYPE : zdo.h
  • EXTENDED_SIMPLE_DESC_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- f -

  • FIND_NODE_CACHE_CLID : zdo.h
  • FREQUENCY_BAND_2400 : appFramework.h
  • FREQUENCY_BAND_868 : appFramework.h
  • FREQUENCY_BAND_902 : appFramework.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- i -

  • IEEE_ADDR_CLID : zdo.h
  • INTERNAL_1d1V : adc.h
  • INTERNAL_2d56V : adc.h
  • IRQ_0 : irq.h
  • IRQ_1 : irq.h
  • IRQ_2 : irq.h
  • IRQ_3 : irq.h
  • IRQ_4 : irq.h
  • IRQ_5 : irq.h
  • IRQ_6 : irq.h
  • IRQ_7 : irq.h
  • IRQ_ANY_EDGE : irq.h
  • IRQ_FALLING_EDGE : irq.h
  • IRQ_HIGH_LEVEL : irq.h
  • IRQ_LOW_LEVEL : irq.h
  • IRQ_RISING_EDGE : irq.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- p -

  • PDS_CRC_ERROR : pdsDataServer.h
  • PDS_EEPROM_BUSY : pdsDataServer.h
  • PDS_EEPROM_ERROR : pdsDataServer.h
  • PDS_INVALID_REQUEST : pdsDataServer.h
  • PDS_SUCCESS : pdsDataServer.h
  • PERCENT_100 : appFramework.h
  • PERCENT_33 : appFramework.h
  • PERCENT_66 : appFramework.h
  • POWER_DESC_STORE_CLID : zdo.h
  • POWER_DESCRIPTOR_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- r -

  • RECEIVER_COMES_PERIODICALLY : appFramework.h
  • RECEIVER_COMES_WHEN_STIMULATED : appFramework.h
  • RECEIVER_SYNCRONIZED_WHEN_ON_IDLE : appFramework.h
  • RECHARGEABLE_BATTERY : appFramework.h
  • RECOVER_BIND_TABLE_CLID : zdo.h
  • RECOVER_SOURCE_BIND_CLID : zdo.h
  • REMOVE_BCKUP_BIND_ENTRY_CLID : zdo.h
  • REMOVE_NODE_CACHE_CLID : zdo.h
  • REPLACE_DEVICE_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- s -

  • SERVER_MASK_BACKUP_BINDING_TABLE_CACHE : appFramework.h
  • SERVER_MASK_BACKUP_DISCOVERY_CACHE : appFramework.h
  • SERVER_MASK_BACKUP_TRUST_CENTER : appFramework.h
  • SERVER_MASK_NETWORK_MANAGER : appFramework.h
  • SERVER_MASK_NO_SERVER : appFramework.h
  • SERVER_MASK_PRIMARY_BINDING_TABLE_CACHE : appFramework.h
  • SERVER_MASK_PRIMARY_DISCOVERY_CACHE : appFramework.h
  • SERVER_MASK_PRIMARY_TRUST_CENTER : appFramework.h
  • SHORT_ADDR_MODE : zdo.h
  • SIMPLE_DESC_STORE_CLID : zdo.h
  • SIMPLE_DESCRIPTOR_CLID : zdo.h
  • SINGLE_RESPONSE_REQUESTTYPE : zdo.h
  • STORE_BCKUP_BIND_ENTRY_CLID : zdo.h
  • SYSTEM_SERVER_DISCOVERY_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- t -

  • TAG_DEVICE_URL : appFramework.h
  • TAG_ICON : appFramework.h
  • TAG_ICON_URL : appFramework.h
  • TAG_LANGUAGE_AND_CHARACTER_SET : appFramework.h
  • TAG_MANUFACTURER_NAME : appFramework.h
  • TAG_MODEL_NAME : appFramework.h
  • TAG_SERIAL_NUMBER : appFramework.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • d
  • e
  • f
  • i
  • l
  • m
  • n
  • p
  • r
  • s
  • t
  • u
  • z

- u -

  • UNBIND_CLID : zdo.h
  • USER_DESC_CONF_CLID : zdo.h
  • USER_DESCRIPTOR_CLID : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • b
  • c
  • h
  • p
  • s
  • z

- a -

  • APL_TaskHandler() : taskManager.h
  • APS_AddGroupReq() : aps.h
  • APS_CalculateTimes() : aps.h
  • APS_DataReq() : aps.h
  • APS_GetEndpointList() : aps.h
  • APS_GetReq() : aps.h
  • APS_RegisterEndpointReq() : aps.h
  • APS_RemoveAllGroupsReq() : aps.h
  • APS_RemoveGroupReq() : aps.h
  • APS_ResumeEndpointIndication() : aps.h
  • APS_SetReq() : aps.h
  • APS_StopEndpointIndication() : aps.h
  • APS_UnregisterEndpointReq() : aps.h

- b -

  • BSP_CloseBatterySensor() : sensors.h
  • BSP_CloseButtons() : buttons.h
  • BSP_CloseLeds() : leds.h
  • BSP_CloseLightSensor() : sensors.h
  • BSP_CloseTemperatureSensor() : sensors.h
  • BSP_OffLed() : leds.h
  • BSP_OnLed() : leds.h
  • BSP_OpenBatterySensor() : sensors.h
  • BSP_OpenButtons() : buttons.h
  • BSP_OpenLeds() : leds.h
  • BSP_OpenLightSensor() : sensors.h
  • BSP_OpenTemperatureSensor() : sensors.h
  • BSP_ReadBatteryData() : sensors.h
  • BSP_ReadButtonsState() : buttons.h
  • BSP_ReadLightData() : sensors.h
  • BSP_ReadSliders() : sliders.h
  • BSP_ReadTemperatureData() : sensors.h
  • BSP_ToggleLed() : leds.h

- c -

  • CS_ReadParameter() : configServer.h
  • CS_WriteParameter() : configServer.h

- h -

  • HAL_AlarmSearchW1Device() : w1.h
  • HAL_CloseAdc() : adc.h
  • HAL_CloseI2cPacket() : i2cPacket.h
  • HAL_CloseSpi() : spi.h
  • HAL_CloseUart() : uart.h
  • HAL_ConfigureEndpoint() : usb.h
  • HAL_ConvertToSleepInterval() : sleepTimer.h
  • HAL_DisableIrq() : irq.h
  • HAL_EnableIrq() : irq.h
  • HAL_GetState() : usb.h
  • HAL_GetSystemTime() : appTimer.h
  • HAL_Halt() : usb.h
  • HAL_IsEepromBusy() : eeprom.h
  • HAL_IsHalted() : usb.h
  • HAL_IsTxEmpty() : uart.h
  • HAL_OffUartCts() : uart.h
  • HAL_OnUartCts() : uart.h
  • HAL_OpenAdc() : adc.h
  • HAL_OpenI2cPacket() : i2cPacket.h
  • HAL_OpenSpi() : spi.h
  • HAL_OpenUart() : uart.h
  • HAL_ReadAdc() : adc.h
  • HAL_ReadEeprom() : eeprom.h
  • HAL_ReadI2cPacket() : i2cPacket.h
  • HAL_ReadResetReason() : resetReason.h
  • HAL_ReadUart() : uart.h
  • HAL_ReadUartDtr() : uart.h
  • HAL_ReadUartRts() : uart.h
  • HAL_ReadUid() : uid.h
  • HAL_ReadW1() : w1.h
  • HAL_RegisterEndOfBusResetHandler() : usb.h
  • HAL_RegisterIrq() : irq.h
  • HAL_RegisterRequestHandler() : usb.h
  • HAL_RegisterResumeHandler() : usb.h
  • HAL_RegisterSuspendHandler() : usb.h
  • HAL_RegisterWdtCallback() : wdtCtrl.h
  • HAL_ResetW1() : w1.h
  • HAL_SearchW1Device() : w1.h
  • HAL_SetAddress() : usb.h
  • HAL_SetConfiguration() : usb.h
  • HAL_Stall() : usb.h
  • HAL_StartAppTimer() : appTimer.h
  • HAL_StartSleepTimer() : sleepTimer.h
  • HAL_StartWdt() : wdtCtrl.h
  • HAL_StopAppTimer() : appTimer.h
  • HAL_StopSleepTimer() : sleepTimer.h
  • HAL_Unhalt() : usb.h
  • HAL_UnregisterIrq() : irq.h
  • HAL_UsbInit() : usb.h
  • HAL_UsbRead() : usb.h
  • HAL_UsbWrite() : usb.h
  • HAL_WarmReset() : resetReason.h
  • HAL_WriteEeprom() : eeprom.h
  • HAL_WriteI2cPacket() : i2cPacket.h
  • HAL_WriteSpi() : spi.h
  • HAL_WriteUart() : uart.h
  • HAL_WriteW1() : w1.h

- p -

  • PDS_FlushData() : pdsDataServer.h
  • PDS_ReadUserData() : pdsDataServer.h
  • PDS_SetToDefault() : pdsDataServer.h
  • PDS_WriteUserData() : pdsDataServer.h

- s -

  • SYS_PostTask() : taskManager.h

- z -

  • ZDO_GetChildrenAddr() : zdo.h
  • ZDO_GetLqiRssi() : zdo.h
  • ZDO_GetNeibAmount() : zdo.h
  • ZDO_GetNeibTable() : zdo.h
  • ZDO_GetNwkStatus() : zdo.h
  • ZDO_GetParentAddr() : zdo.h
  • ZDO_MgmtNwkUpdateNotf() : zdo.h
  • ZDO_ResetNetworkReq() : zdo.h
  • ZDO_SetTxPowerReq() : zdo.h
  • ZDO_SleepInd() : zdo.h
  • ZDO_SleepReq() : zdo.h
  • ZDO_SleepResp() : zdo.h
  • ZDO_StartNetworkReq() : zdo.h
  • ZDO_StartSyncReq() : zdo.h
  • ZDO_StopSyncReq() : zdo.h
  • ZDO_WakeUpInd() : zdo.h
  • ZDO_WakeUpReq() : zdo.h
  • ZDO_ZdpReq() : zdo.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines

  • ClusterId_t : appFramework.h
  • Endpoint_t : appFramework.h
  • GroupAddr_t : appFramework.h
  • HAL_AppTimer_t : appTimer.h
  • HAL_SleepTimer_t : sleepTimer.h
  • ProfileId_t : appFramework.h
  • TransferCallback_t : usb.h
Generated on Mon Feb 16 17:53:41 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Application Support sub-layer

  • Functions Summary
  • Sample Applications
  • APS
  • ZDO
  • Frame Format
  • Information Base
  • Status Parameters

APS Information Base

This is a collection of variables that are passed between layers, in order to exchange information. These variables can be specified or obtained from a layer through its management service. The APS information base comprises the constants and attributes required to manage the APS layer of a device. This database may also include the access control list, which stores the security material.

The constants that define the characteristics of the APS sub-layer are presented below:

  • The maximum number of octets contained in a non-complex descriptor.
  • The maximum number of retries allowed after a transmission failure.
  • The maximum number of seconds to wait for an acknowledgement to a transmitted frame.
  • The minimum required size of the APS duplicate rejection table.
  • Fragmentation parameter - The maximum number of unacknowledged frames that can be active at once.
  • Fragmentation parameter - The standard delay between sending two blocks of a fragmented transmission.
  • The minimum number of octets added by the APS sub-layer to an ASDU.

The attributes of the AIB are listed below:

  • The current set of binding table entries in the device
  • TRUE if the device should become the ZigBee Coordinator on startup, FALSE if otherwise.
  • The mask of allowable channels for this device to use for network operations.
  • The 64-bit address of a network to form or to join.
  • The current set of group table entries.
  • The value to be used for the NonmemberRadius parameter when using NWK layer multicast.
  • The current set of permission configuration items.
  • A flag controlling the use of insecure join at startup.
  • Fragmentation parameter - the standard delay, in milliseconds, between sending two blocks of a fragmented transmission

Security-Related AIB Attributes:

  • A set of key-pair descriptors containing master and link key pairs shared with other devices.
  • Identifies the address of the device's Trust Center.
  • The period of time a device will wait for an expected security protocol frame (in milliseconds).

See also:
APS Functions and Data Structures
APS Frame format
APS Status Parameters

Generated on Wen Oct 1 12:45:19 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


Blink Application

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Source code

Blink Application

This example introduces the simplest application that uses timer and LEDs. When started, the application makes all the MeshBean's LEDs blink synchronously with certain period.

The frequency of blinking may be varied manually within certain range. Namely, it increases or decreases by a factor of two on pressing the SW1 or SW2 button on the MeshBean board, correspondingly. Minimum, maximum and initial period values (in milliseconds) are defined in Makefile.

It is not recommended to set the initial period outside the minimum..maximum range, or set the minimum value to less than 2. In these cases, the application may behave inconsistently. (The corresponding error checking was omitted intentionally in order to keep the application code as simple as possible.)

Configuration parameters

BLINK_PERIOD | Minimum blinking period (ms)
MIN_BLINK_PERIOD | Initial blinking period (ms)
MAX_BLINK_PERIOD | Maximum blinking period (ms)

The source code and Makefile of Blink application are located at [ZDK]\Sample Applications\Blink directory.

Generated on Mon Oct 6 15:21:36 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


Low Power Application

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Coordinator source code
  • End device source code

Low Power Networking Application

This sample shows how to collect data transmitted from low-power devices, employing the simplest power management strategy. There must be one and only coordinator, and the rest of nodes must be configured as end devices. At least 2 nodes are participating, but up to 8 nodes (coordinator and 7 end devices) can be engaged.

For simple node identification, define unique logical addresses by DIP switches. When setting 8 possible DIP combinations, keep in mind that:

  • ON position corresponds to logical 1;
  • Third DIP switch defines the most significant bit for logical address;
  • Zero logical address corresponds to the coordinator, which must be unique.
Node | DIP switches
 | SW4:1 | SW4:2 | SW4:3
0 | OFF | OFF | OFF
1 | ON | OFF | OFF
2 | OFF | ON | OFF
3 | ON | ON | OFF
4 | OFF | OFF | ON
5 | ON | OFF | ON
6 | OFF | ON | ON
7 | ON | ON | ON

To start the application and to initiate the network push SW1 button on each node, starting with coordinator. Green LED is switched ON if the network is started successfully.

Coordinator organizes the network with its own 'unique' PAN ID which is determined by its MAC address (considering the 16 least significant bits). Besides, user can set PAN ID in flash memory or EEPROM. In order to join, end devices are scanning the network.

End device measures temperature each 10 seconds and sends data to coordinator if the absolute increment of the measured value exceeds 0.5°C. Flashing red LED indicates data transmission, while receiving data is labelled with yellow LED. After the transmission is completed, the end device falls asleep. Unconditionally, the current temperature value is also sent if SW2 button is pressed on an end device, regardless the current node mode (sleeping or active). Do not abuse the device with quick series of multiple clicks, since this may cause unstable work.

Coordinator never sleeps; it keeps sending the received temperature data to UART via USB (see connection settings).

In order to help understanding the application code easier, two different image files are supplied, intended for programming the coordinator and end device, correspondingly.

Configuration parameters

Parameters valid for all devices:
APP_CHANNEL_MASK | Specifies channels to be tried by nodes for network operation
APP_COORD_UID | Coordinator UID; is used as coordinator MAC address and extended PANID. Must be similar for all devices in a network
TIMER_STARTING_NETWORK | LED blinking interval during network start (ms)
Parameters specific for end devices:
APP_USE_APS_ACK | Indicates whether the APS level ack will be used or not
CHANGES_THRESHOLD | Threshold for temperature difference (values above that should be reported to coordinator if observed)
APP_SLEEP_PERIOD | Interval between regular wake-ups and temperature difference checks

The source codes for coordinator and end device of Low Power Test application are located at [ZDK]\Sample Applications\LowPower directory.

Generated on Tue Mon Oct 6 15:37:54 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


Peer-to-peer Application

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Source code

Peer-to-peer Application

This sample shows how to organize the simplest peer-to-peer link. A simple buffering strategy is employed to avoid byte-by-byte data transfer.

At least 2 nodes are participating. Up to 8 nodes can be engaged. In order to define the node logical addresses, set DIP switches as shown below. One of the nodes should be configured as coordinator (i.e. its logical address should be set to zero). All of the nodes which are connected over UART to their own USB ports simply exchange over UART with data sent to them by their hosts. The connection parameters should be set in the following way:
Parameter | Value
Data Rate | 38400 bps
Data Bits | 8
Parity | None
Stop Bits | 1
Flow Control | Hardware
The nodes communicate strictly in pairs defined by their logical addresses as follows:

  • node 0 with node 1;
  • node 2 with node 3;
  • node 4 with node 5;
  • node 6 with node 7.
Node | DIP switches
 | SW4:1 | SW4:2 | SW4:3
0 | OFF | OFF | OFF
1 | ON | OFF | OFF
2 | OFF | ON | OFF
3 | ON | ON | OFF
4 | OFF | OFF | ON
5 | ON | OFF | ON
6 | OFF | ON | ON
7 | ON | ON | ON

The network organizes automatically on startup. You may connect two devices to a PC (or to different PCs, thus introducing a rough functional equivalent of an instant messenger), start two instances of HyperTerminal, type some message in one terminal window and observe it appearing in the another.

Pressing SW1 button on a node results in sending a single maximum-length frame filled with 0xDD byte.

LEDs indicate network activity as follows:

  • when a node is searching for the network, green LED is blinking;
  • green LED is ON when the node joins the network successfully;
  • red LED is flashing when the node is sending data;
  • yellow LED flashing indicates the node is receiving data.

Configuration parameters

APP_CHANNEL_MASK | Specifies channels to be tried by nodes for network operation
APP_COORD_UID | Coordinator UID; is used as coordinator MAC address
APP_USE_APS_ACK | Indicates whether the APS level ack will be used or not
TIMER_STARTING_NETWORK | LED blinking interval during network start (ms)
TIMER_FW_DELAY | Interval before forwarding of the received packet (ms)

The source codes of Peer-to-peer application are located at [ZDK]\Sample Applications\Peer2peer directory.

Generated on Tue Mon Oct 6 16:59:43 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


Ping-Pong Application

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Source code

Ping-Pong Application

This example shows how to make the nodes to process multiple data requests. Each node is waiting for a wireless message, and then passes it to the next node. Up to 4 nodes can be engaged to form a circle.

Logical addresses of the nodes are defined by two first DIP switches, which can be set to 4 possible combinations. The third DIP switch turned ON determines the node closing the configured chain to form a circle. In configurations of 2, 3 or 4 nodes, this should be the 2nd, 3rd or 4th node, correspondingly. DIP switch configurations are presented below.

Network formation is initiated by pressing SW1 button on each node, starting with the coordinator (the node with zero logical address). When network is started successfully, green LED is ON. Yellow LED is blinking during the process of data transfer (LED is on while data are transmitted, and LED is off after the transmission is completed).

Sending data is initiated by pressing SW2 button on any node. Once the third DIP switch on the chain-closing node is in ON position, data will be passed over circularly: 0→1→2→3→0→1... and so forth. You can press SW2 button on any other node once more, and then the next data block will pass through the nodes in the same direction. If data block fails to be delivered during any transaction (due to communication error, router's overload or some other reason) it gets out of data circulation in the network.

DIP switches settings

2 nodes participating
Node | DIP switches
 | SW4:1 | SW4:2 | SW4:3
0 | OFF | OFF | OFF
1 | ON | OFF | ON

3 nodes participating
Node | DIP switches
 | SW4:1 | SW4:2 | SW4:3
0 | OFF | OFF | OFF
1 | ON | OFF | OFF
2 | OFF | ON | ON

4 nodes participating
Node | DIP switches
 | SW4:1 | SW4:2 | SW4:3
0 | OFF | OFF | OFF
1 | ON | OFF | OFF
2 | OFF | ON | OFF
3 | ON | ON | ON

The source codes of Pingpong application are located at [ZDK]\Sample Applications\Pingpong directory.

Generated on Mon Oct 6 17:17:42 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


Throughput Test Application

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Source code

Throughput Test Application

This application measures the RF bandwith of MeshBean modules. To use the Throughput Test application, burn two devices with the same application image and configure them with DIP swithches (see the table below) as coordinator and router, correspondingly.
DIP switches |  |  | Role
1 | 2 | 3
ON | OFF | OFF | Coordinator
OFF | ON | OFF | Router

After burning, power up both the nodes, connect the coordinator node to a PC and start terminal software (see connection settings). The router node continually sends packets of data over the air. The coordinator keeps measuring the connection bandwidth on application level and sending its value to PC via UART once per second.

The state of the nodes (searching for network, being joined to network, sending data and receiving data) is indicated by the onboard LEDs in the following manner:

  • when a node is searching for the network, green LED is blinking;
  • green LED is ON when the node joins the network successfully;
  • yellow LED is flashing when the node is sending data (for router) or receiving data (for coordinator);
  • red LED is used only on coordinator and is flashing when sending measured value to UART.

The source codes of Throughput Test application are located at [ZDK]\Sample Applications\ThroughputTest directory.

Generated on Wed Oct 8 12:23:50 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


WSNDemo Application

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Source code

WSNDemo Application

Preface

The WSNDemo application is intended to organize a wireless sensor network (WSN) composed of Atmel MeshBean boards. Each WSN node periodically reads the data of its on-board sensors (light, temperature and battery power) and sends them to coordinator, which in turn sends the data to the PC's COM port. A special GUI application named WSN Monitor running on the PC displays the network topology and sensor data in an easy-to-interpret graphical form.

Using the Boards

To start the WSNDemo, do the following:

  1. Using DIP swithches (see the table below) configure one node as a coordinator, and the others as routers/end-devices.
    DIP switches | Role
    1 | 2 | 3
    ON | OFF | OFF | Coordinator
    OFF | ON | OFF | Router
    OFF | OFF | ON | End device
  2. Connect the coordinator node to a PC by USB or RS-232 cable.
  3. Power on the nodes to bring them to Standby state.
  4. Once the nodes are powered on, they start searching for network. Alternatively, if the CS_AUTONETWORK parameter defined in the configuration file has been changed to 0, the user has to press the SW1 button on each node, starting from the coordinator.
  5. Start WSN Monitor on the PC to which the coordinator is connected.

Coordinator organizes the wireless network automatically. The WSN activity may be observed in two ways, i.e. by on-board LEDs (see description in the table below) and via the WSN Monitor running on PC.
Node State | LED state
 | LED1 (Red) | LED2 (Yellow) | LED3 (Green)
Standby | blinking synchronously
Searching for network | blinking | OFF | OFF
Joined to network | ON |  |
+ receiving data |  | blinking |
+ sending data |  |  | blinking
Sleeping (end device only) | OFF | OFF | OFF

The source codes of WSNDemo application are located at [ZDK]\Sample Applications\WSNDemo directory.

WSN Monitor

WSN Monitor is a PC-based GUI diagnostic application for WSNDemo that is used to display the network topology and other information about the network. Run WSNMonitorSetup.exe located at [ZDK]\Evaluation Tools\WSNDemo (WSN Monitor)\ to install the program.

Take a look at the screenshot below. WSN Monitor displays the network tree in real time and updates it automatically as the nodes join or leave. The nodes are represented by icons with the node data tips. The links between the nodes are tipped with the link quality data. Sensor data for each node is recorded and may be visualized in graphs and in table at any time.

On startup, go to Tools, Settings, and select the proper communication port from the COM port list. Also, check that the Parse sensors as value is set to int-32, in order to read the sensors measurements correctly.

Use top-level program menu and toolbars to control the topology outlook.

Generated on Tue Oct 7 12:45:20 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Application Support sub-layer

  • Functions Summary
  • Sample Applications
  • APS
  • ZDO
  • Frame Format
  • Information Base
  • Status Parameters

Application Support sub-layer

The application support sub-layer (APS) provides an interface between the network layer (NWK) and the application layer (APL) through a general set of services. These services are offered via the data service and the management service.

  • The Data Service (APSDE) is provided to the network layer and both ZDO and application objects to enable the transport of application PDUs between two or more devices, located on the same network. It supports the following service primitives:
    • Data Request primitive is generated by a local Next Higher Layer (NHLE) whenever a Service Data Unit(ASDU) is to be transferred to one or more peer NHLEs. On receipt of this primitive, the APS sub-layer begins the transmission of the supplied ASDU.
      See use case: Lowpower sample application.
    • The Data Confirm primitive reports the results of a request to transfer an ASDU from a local NHLE to one or more peer NHLEs. It is generated by the local APS sub-layer in response to an Data Request primitive. On receipt of this primitive, the next higher layer of the initiating device is notified of the result of its request to transmit. If the transmission attempt was successful, the Status parameter will be set to SUCCESS. Otherwise, the Status parameter will indicate the error.
    • Data Indicatiom primitive indicates the transfer of an ASDU from the APS sublayer to the local application. This primitive is generated by the APS sub-layer and issued to the next higher layer on receipt of an appropriately addressed data frame from the local NWK layer. On receipt of this primitive, the next higher layer is notified of the arrival of data at the device.
  • The Management Service (APSME) is provided to allow an application to interact with the stack. The Management Service shall provide the ability to match two devices together based on their services and their needs. It also maintains a database of managed objects, known as the APS information base (AIB).
    The following set of primitives defines how the next higher layer of a device can read and write attributes in the AIB.
    • Get Request primitive allows the next higher layer to read the value of an attribute from the AIB. This primitive is generated by the next higher layer and issued to its APSME in order to read an attribute from the AIB. On receipt of this primitive, the APSME attempts to retrieve the requested AIB attribute from its database. If the requested AIB attribute is successfully retrieved, the APSME issues the Get Confirm primitive such that it contains the AIB attribute identifier and value.
    • Get Confirm primitive reports the results of an attempt to read the value of an attribute from the AIB. This primitive is generated by the APSME and issued to its next higher layer in response to an Get Request primitive. On receipt of this primitive, the next higher layer is notified of the results of its request to read an AIB attribute.
    • Set Request primitive allows the next higher layer to write the value of an attribute into the AIB. This primitive is to be generated by the next higher layer and issued to its APSME in order to write the value of an attribute in the AIB. On receipt of this primitive, the APSME attempts to write the given value to the indicated AIB attribute in its database.
    • Set Confirm primitive reports the results of an attempt to write a value to an AIB attribute. This primitive is generated by the APSME and issued to its next higher layer in response to an Set Request primitive. On receipt of this primitive, the next higher layer is notified of the results of its request to write the value of a AIB attribute.
    The Management Service maintains a group table, which allows endpoints to be associated with groups and allows group-addressed frames to be delivered selectively to those endpoints that are associated in the table with a particular group. This set of primitives allows the next higher layer to manage group membership for endpoints on the current device by adding and removing entries in the group table:
    • Add Group Request primitive allows the next higher layer to request that group membership for a particular group be added for a particular endpoint. This primitive is generated by the next higher layer when it wants to add membership in a particular group to an endpoint, so that frames addressed to the group will be delivered to that endpoint in the future. On receipt of this primitive, the APSME issues the Add Group Confirm primitive to the next higher layer.
    • Add Group Confirm primitive allows the next higher layer to be informed of the results of its request to add a group to an endpoint. This primitive is generated by the APSME and issued to the next higher layer in response to an Add Group Request primitive. On receipt of this primitive, the next higher layer is informed of the status of its request to add a group.
    • Remove Group Request primitive allows the next higher layer to request that group membership in a particular group for a particular endpoint be removed. This primitive is generated by the next higher layer when it wants to remove membership in a particular group from an endpoint so that frames addressed to the group will no longer be delivered to that endpoint. On receipt of this primitive, the APSME will check the group table to see if an entry exists containing the values given by the GroupAddress and Endpoint parameters. If such an entry already exists in the table, then that entry will be removed.
    • Remove Group Confirm primitive allows the next higher layer to be informed of the results of its request to remove a group from an endpoint. This primitive is generated by the APSME and issued to the next higher layer in response to an Remove Group Request primitive. On receipt of this primitive, the next higher layer is informed of the status of its request to remove a group.
    • Remove All Groups Request primitive is generated by the next higher layer when it wants to remove membership in all groups from an endpoint, so that no group-addressed frames will be delivered to that endpoint. This primitive is generated by the next higher layer when it wants to remove membership in all groups from an endpoint so that no group addressed frames will be delivered to that endpoint. On receipt of this primitive, the APSME will remove all entries related to this endpoint from the group table.
    • Remove All Groups Confirm primitive allows the next higher layer to be informed of the results of its request to remove all groups from an endpoint. This primitive is generated by the APSME and issued to the next higher layer in response to an Remove All Groups Request primitive. On receipt of this primitive, the next higher layer is informed of the status of its request to remove all groups from an endpoint.
    • Register Endpoint primitive
      See use case: Lowpower sample application.
    • Unregister Endpoint primitive

See also:
APS Functions and Data Structures
APS Frame format
APS Information Base
APS Status Parameters

Generated on Wen Oct 1 12:45:19 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Application Support sub-layer

  • Functions Summary
  • Sample Applications
  • APS
  • ZDO
  • Frame format
  • Information Base
  • Status Parameters

The format of the APS frame (APDU)

Each APS frame consists of the following basic components:

  • An APS header, which comprises frame control and addressing information.
  • An APS payload, of variable length, which contains information specific to the frame type.

The general APS frame shall be formatted as illustrated below:

APS header |  |  |  |  |  |  |  | APS payload
Frame control | Addressing fields |  |  |  |  | APS counter | Extended header | Frame payload
 | Destination endpoint | Group address | Cluster identifier | Profile identifier | Source endpoint

See also:
APS Functions and Data Structures
APS Information Base
APS Status Parameters

Generated on Fri Oct 3 12:45:19 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


Blink Application Source File

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Source code

blink.c

Back to Blink sample application.

00001
00017 #include <appTimer.h>
00018 #include <zdo.h>
00019 #include <blink.h>
00020
00021 static HAL_AppTimer_t blinkTimer;                           // Blink timer.
00022
00023 #ifndef _BUTTONS_
00024 static HAL_AppTimer_t changeBlinkTimer;                     // Buttons emulation timer.
00025 #endif //#ifndef _BUTTONS_
00026
00027 static void buttonsReleased(uint8_t buttonNumber);          // Button release event handler.
00028 static void blinkTimerFired(void);                          // blinkTimer handler.
00029
00030 #ifndef _BUTTONS_
00031 static void changeTimerFired(void);                         //Buttons emulation timer handler.
00032 #endif //#ifndef _BUTTONS_
00033
00034 /*******************************************************************************
00035   Description: application task handler.
00036
00037   Parameters: none.
00038
00039   Returns: nothing.
00040 *******************************************************************************/
00041 void APL_TaskHandler(void)
00042 {
00043   BSP_OpenLeds(); // Enable LEDs
00044
00045 #ifdef _BUTTONS_
00046   BSP_OpenButtons(NULL, buttonsReleased);         // Register button event handlers
00047 #else
00048   // Configure blink timer
00049   changeBlinkTimer.interval = 10000;              // Timer interval
00050   changeBlinkTimer.mode     = TIMER_REPEAT_MODE;  // Repeating mode (TIMER_REPEAT_MODE or TIMER_ONE_SHOT_MODE)
00051   changeBlinkTimer.callback = changeTimerFired;   // Callback function for timer fire event
00052   HAL_StartAppTimer(&changeBlinkTimer);           // Start blink timer
00053 #endif //#ifdef _BUTTONS_
00054
00055   // Configure blink timer
00056   blinkTimer.interval = BLINK_INTERVAL;           // Timer interval
00057   blinkTimer.mode     = TIMER_REPEAT_MODE;        // Repeating mode (TIMER_REPEAT_MODE or TIMER_ONE_SHOT_MODE)
00058   blinkTimer.callback = blinkTimerFired;          // Callback function for timer fire event
00059   HAL_StartAppTimer(&blinkTimer);                 // Start blink timer
00060 }
00061
00062 #ifndef _BUTTONS_
00063 void changeTimerFired(void)
00064 {
00065   static uint8_t button = HALF_PERIOD_BUTTON;
00066   //Buttons emulation
00067   buttonsReleased(button);
00068   if (HALF_PERIOD_BUTTON == button)
00069     button = DOUBLE_PERIOD_BUTTON;
00070   else
00071     button = HALF_PERIOD_BUTTON;
00072 }
00073 #endif //#ifndef _BUTTONS_
00074
00075 /*******************************************************************************
00076   Description: blinking timer fire event handler.
00077
00078   Parameters: none.
00079
00080   Returns: nothing.
00081 *******************************************************************************/
00082 static void blinkTimerFired()
00083 {
00084   BSP_ToggleLed(LED_RED);
00085   BSP_ToggleLed(LED_YELLOW);
00086   BSP_ToggleLed(LED_GREEN);
00087 }
00088
00089 /*******************************************************************************
00090   Description: button release event handler.
00091
00092   Parameters: buttonNumber - released button number.
00093
00094   Returns: nothing.
00095 *******************************************************************************/
00096 static void buttonsReleased(uint8_t buttonNumber)
00097 {
00098   HAL_StopAppTimer(&blinkTimer); // Stop blink timer
00099
00100   // Dependent on button being released, update blink interval
00101   if (HALF_PERIOD_BUTTON == buttonNumber)
00102   {
00103     blinkTimer.interval /= 2;
00104     if (blinkTimer.interval < MIN_BLINK_INTERVAL)
00105       blinkTimer.interval = MIN_BLINK_INTERVAL;
00106   }
00107   else if (DOUBLE_PERIOD_BUTTON == buttonNumber)
00108   {
00109     blinkTimer.interval *= 2;
00110     if (blinkTimer.interval > MAX_BLINK_INTERVAL)
00111       blinkTimer.interval = MAX_BLINK_INTERVAL;
00112   }
00113
00114   blinkTimerFired();              // Update LED status immediately.
00115   HAL_StartAppTimer(&blinkTimer); // Start updated blink timer.
00116 }
00117
00118 /*******************************************************************************
00119   Description: just a stub.
00120
00121   Parameters: are not used.
00122
00123   Returns: nothing.
00124 *******************************************************************************/
00125 void ZDO_MgmtNwkUpdateNotf(ZDO_MgmtNwkUpdateNotf_t *nwkParams)
00126 {
00127   nwkParams = nwkParams;  // Unused parameter warning prevention
00128 }
00129
00130 /*******************************************************************************
00131   Description: just a stub.
00132
00133   Parameters: none.
00134
00135   Returns: nothing.
00136 *******************************************************************************/
00137 void ZDO_WakeUpInd(void)
00138 {
00139 }
00140
00141 /*******************************************************************************
00142   Description: just a stub.
00143
00144   Parameters: none.
00145
00146   Returns: nothing.
00147 *******************************************************************************/
00148 void ZDO_SleepInd(void)
00149 {
00150 }
00151
00152 //eof blink.c
Generated on Tue Feb 17 16:44:56 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Alphabetical List

BitCloud Stack Documentation Data Structure Index

A | C | E | H | M | N | P | S | U | Z

A
E
ZDO_ActiveEPResp_t ZDO_ResetNetworkReq_t
APS_AddGroupConf_t EDScan_t ZDO_ComplexDescReq_t ZDO_SetTxPowerConf_t
APS_AddGroupReq_t
H
ZDO_ComplexDescResp_t ZDO_SetTxPowerReq_t
APS_Address_t HAL_AdcParams_t ZDO_DeviceAnnceReq_t ZDO_SimpleDescReq_t
APS_AibAttribute_t HAL_EepromParams_t ZDO_GetChildrenAddr_t ZDO_SimpleDescResp_t
APS_AibPermissionsConfiguration_t HAL_i2cMode_t ZDO_GetLqiRssi_t ZDO_SleepConf_t
APS_DataConf_t HAL_I2cParams_t ZDO_GetNeibAmount_t ZDO_SleepReq_t
APS_DataInd_t HAL_UartDescriptor_t ZDO_IeeeAddrReq_t ZDO_StartNetworkConf_t
APS_DataReq_t HAL_UsbEndPointDescptr_t ZDO_IeeeAddrResp_t ZDO_StartNetworkReq_t
APS_GetConf_t
M
ZDO_MgmtLeaveReq_t ZDO_SystemServerDiscoveryReq_t
APS_GetReq_t MacCapabilityFlags_t ZDO_MgmtLqiReq_t ZDO_SystemServerDiscoveryResp_t
APS_RegisterEndpointReq_t
N
ZDO_MgmtLqiResp_t ZDO_UserDescConfResp_t
APS_RemoveAllGroupsConf_t NetworkInf_t ZDO_MgmtNwkUpdateNotf_t ZDO_UserDescReq_t
APS_RemoveAllGroupsReq_t NodeAddr_t ZDO_MgmtNwkUpdateReq_t ZDO_UserDescResp_t
APS_RemoveGroupConf_t NodeDescriptor_t ZDO_MgmtPermitJoiningReq_t ZDO_UserDescSetReq_t
APS_RemoveGroupReq_t
P
ZDO_Neib_t ZDO_WakeUpConf_t
APS_SetConf_t PowerDescriptor_t ZDO_NodeDescReq_t ZDO_WakeUpReq_t
APS_SetReq_t
S
ZDO_NodeDescResp_t ZDO_ZdpFrame_t
APS_TxOptions_t SimpleDescriptor_t ZDO_NwkAddrReq_t ZDO_ZdpReq_t
APS_UnregisterEndpointReq_t
U
ZDO_NwkAddrResp_t ZDO_ZdpReqFrame_t
C
UserDescriptor_t ZDO_PowerDescReq_t ZDO_ZdpResp_t
ComplexDescriptor_t
Z
ZDO_PowerDescResp_t ZDO_ZdpRespFrame_t
ComplexDescriptorField_t ZDO_ActiveEPReq_t ZDO_ResetNetworkConf_t ZdpSimpleDescriptor_t

A | C | E | H | M | N | P | S | U | Z


Low Power Application Source File

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Coordinator source code
  • End device source code

coordinator.c

Back to Low Power Networking sample application.

00001
00017 #ifdef _COORDINATOR_
00018
00019 #include <lowpower.h>
00020
00021 /***********************************************************************************
00022   Global variables
00023  ***********************************************************************************/
00024 /***********************************************************************************
00025   Local variables
00026  ***********************************************************************************/
00027 // Temporary data received via network buffer
00028 static uint8_t tmpDataBuffer[APP_TMP_DATA_BUFFER_SIZE];
00029 static uint8_t tmpDataBufferActualLength = 0;
00030
00031 // UART related variables
00032 static HAL_UartDescriptor_t appUartDescriptor;          // UART descriptor (required by stack)
00033 static bool uartTxBusyFlag = false;                     // UART transmission transaction status
00034 static uint8_t uartTxBuffer[APP_UART_TX_BUFFER_SIZE];   // UART Tx buffer
00035
00036 /***********************************************************************************
00037   Local functions
00038  ***********************************************************************************/
00039 static void uartInit(void);
00040 static void sendDataToUart(uint8_t* data, uint8_t length);
00041 static void uartWriteConf(void);
00042
00043 /********************************************************************
00044   Description:  Coordinator initialization routine
00045   Parameters:   none
00046   Returns:      none
00047 ********************************************************************/
00048 void appCoordinatorInit(void)
00049 {
00050   uartInit(); // Open UART
00051 }
00052
00053 /********************************************************************
00054   Description:  Device common task handler
00055   Parameters:   none
00056   Returns:      none
00057 ********************************************************************/
00058 void appCoordinatorTaskHandler(void)
00059 {
00060   switch (appDeviceState)                     // Actual device state when one joined network
00061   {
00062     case DEVICE_ACTIVE_IDLE_STATE:
00063       break;
00064
00065     default:
00066       break;
00067   }
00068 }
00069
00070 /********************************************************************
00071   Description:  Data intication handler
00072   Parameters:   ind - APS Data Indication primitive
00073   Returns:      none
00074 ********************************************************************/
00075 void appCoordinatorDataInd(APS_DataInd_t* ind)
00076 {
00077   uint8_t str[100];
00078   uint8_t length;
00079   AppMessage_t *appMessage = (AppMessage_t *) ind->asdu;
00080
00081   if (DEVICE_TYPE_COORDINATOR == appDeviceType)
00082   {
00083     length = sprintf((char *) str, "Received from 0x%04X: temperature = %d C\r\n",
00084                ind->srcAddress.shortAddress, appMessage->temperature);
00085
00086     sendDataToUart(str, length); // write received data to UART
00087   }
00088
00089   // Data received indication
00090   appToggleLed(APP_RECEIVING_STATUS_LED);
00091 }
00092
00093 /********************************************************************
00094   Description: Init UART, register UART callbacks.
00095
00096   Parameters: none.
00097
00098   Returns: nothing.
00099 ********************************************************************/
00100 void uartInit(void)
00101 {
00102   uartTxBusyFlag = false;
00103
00104   appUartDescriptor.tty             = APP_UART_CHANNEL;
00105   appUartDescriptor.mode            = ASYNC;
00106   appUartDescriptor.baudrate        = UART_BAUDRATE_38400;
00107   appUartDescriptor.dataLength      = UART_DATA8;
00108   appUartDescriptor.parity          = UART_PARITY_NONE;
00109   appUartDescriptor.stopbits        = UART_STOPBIT_1;
00110   appUartDescriptor.rxBuffer        = NULL;
00111   appUartDescriptor.rxBufferLength  = 0;
00112   appUartDescriptor.txBuffer        = NULL; // use callback mode
00113   appUartDescriptor.txBufferLength  = 0;
00114   appUartDescriptor.rxCallback      = NULL;
00115   appUartDescriptor.txCallback      = uartWriteConf;
00116   appUartDescriptor.flowControl     = UART_FLOW_CONTROL_NONE;
00117
00118   HAL_OpenUart(&appUartDescriptor);
00119 }
00120
00121 /********************************************************************
00122   Description: Send Data To Uart
00123
00124   Parameters: data - pointer to frame being sent to UART
00125               length - length of the frame in bytes
00126
00127   Returns: nothing.
00128 ********************************************************************/
00129 void sendDataToUart(uint8_t* data, uint8_t length)
00130 {
00131   if (APP_TMP_DATA_BUFFER_SIZE > tmpDataBufferActualLength + length)
00132   {
00133     memcpy(&tmpDataBuffer[tmpDataBufferActualLength], data, length);
00134     tmpDataBufferActualLength += length;
00135   }
00136
00137   if (false == uartTxBusyFlag)
00138   {
00139     uartWriteConf();
00140   }
00141 }
00142
00143 /********************************************************************
00144   Description: Writing confirmation has been received. New message can be sent.
00145
00146   Parameters: none.
00147
00148   Returns: nothing.
00149 ********************************************************************/
00150 void uartWriteConf(void)
00151 {
00152   int bytesWritten;
00153
00154   if (0 < tmpDataBufferActualLength)  // data waiting to be written to UART
00155   {
00156     memcpy(uartTxBuffer, tmpDataBuffer, tmpDataBufferActualLength);
00157     bytesWritten = HAL_WriteUart(&appUartDescriptor, uartTxBuffer, tmpDataBufferActualLength);
00158     if (0 < bytesWritten)
00159     {
00160       tmpDataBufferActualLength -= bytesWritten;
00161       uartTxBusyFlag = true;
00162     }
00163   }
00164   else
00165   {
00166     uartTxBusyFlag = false;
00167   }
00168 }
00169
00170 #endif // _COORDINATOR_
00171
00172 // eof coordinator.c
Generated on Tue Feb 17 16:44:56 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZigBee Device Objects

  • Functions Summary
  • Sample Applications
  • APS
  • ZDO
  • Device and Service Discovery
  • Network Management
  • Power Management

Device and Service Discovery

Device and Service Discovery are distributed operations where devices respond to discovery requests. Device Discovery provides the ability for a device to determine the other devices on the network. Device Discovery is supported for both the 64-bit IEEE address and the 16-bit Network address. Service Discovery provides the ability to determine services offered by other devices.

The existing commands for device and service discovery are listed below (some with the example code fragments):

  • 16-bit Network address unicast or broadcast addressed command permits a local device to inquire as to the 16-bit address of the Remote Device based on its known IEEE address. Upon receipt of this command, remote devices shall return the NWK address.
  • 64-bit IEEE address unicast addressed command permits a local device to inquire as to the 64-bit IEEE address of the Remote Device based on their known 16-bit address. Upon receipt of this command, remote device shall return the 64-bit IEEE address.
  • Node Descriptor unicast addressed command permits a local device to inquire as to the node descriptor of a remote device. Upon receipt of this command, remote device shall return the Node Descriptor. The node descriptor contains information about the capabilities of the node.
  • Power Descriptor unicast addressed command permits a local device to inquire as to the power descriptor of a remote device. Upon receipt of this command, remote device shall return the Power Descriptor. The power descriptor gives a dynamic indication of the power status of the node.
  • Simple_Desc_req unicast addressed command permits a local device to inquire as to the simple descriptor of a remote device on a specified endpoint. Upon receipt of this command, remote device shall return the Simple Descriptor. The simple descriptor contains information specific to each endpoint contained in this node.
  • Active Endpoint unicast addressed command permits a local device to acquire the list of endpoints on a remote device with simple descriptors. Upon receipt of this command, the recipient device shall generate a responce. An active endpoint is one with an application supporting a single profile, described by a Simple Descriptor.
  • Complex Descriptor unicast addressed command permits an enquiring device to return the Complex Descriptor from the specified device. The complex descriptor contains extended information for each of the device descriptions contained in this node.
  • User Descriptor unicast addressed command permits a local device to inquire as to the user descriptor of a remote device. Upon receipt of this command, the recipient device shall return the User Descriptor. The user descriptor contains information that allows the user to identify the device using a user-friendly character string, such as "Bedroom TV" or "Stairs light".The use of the user descriptor is optional. This descriptor contains a single field, which uses the ASCII character set, and shall contain a maximum of 16 characters.
  • Device_annce broadcast addressed command is provided to notify other devices that the device has joined or re-joined the network. This command shall be invoked for all end devices upon join or rejoin. This command may also be invoked by routers upon join or rejoin as part of NWK address conflict resolution. Upon receipt of this command, the Remote Device shall update the nwkAddressMap attribute of the NIB with the updated NWKAddr corresponding to the IEEEAddr received.
  • Configure User Descriptor unicast addressed command permits an enquiring device to configure the user descriptor of the specified device.Upon receipt of this command, the recipient device shall process the command and generate confirmation responce.
  • System Server Discovery broadcast addressed command permits an enquiring device to discover the location of a particular system server or servers as indicated by the ServerMask parameter. Upon receipt of this command, remote devices shall compare the ServerMask parameter to the Server Mask field in their own Node descriptor. If no bits are found to match, no action is taken. If any matching bits are found, the remote device shall send a System Server Discovery Responce back to the originator using unicast transmission (with acknowledgement request) and indicating the matching bits.
Generated on Tue Jun 3 12:45:19 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


Low Power Application Source File

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Coordinator source code
  • End device source code

enddevice.c

Back to Low Power Networking sample application.

00001
00017 #ifdef _ENDDEVICE_
00018 #include <lowpower.h>
00019
00020 /***********************************************************************************
00021   Global variables
00022  ***********************************************************************************/
00023 /***********************************************************************************
00024   Local variables
00025  ***********************************************************************************/
00026 static AppDataTransmissionState_t appDataTtransmissionState = APP_DATA_TRANSMISSION_IDLE_STATE;
00027 static APS_DataReq_t apsDataReq;                            // APS Data Request primitive (for application message sending)
00028 static ZDO_SleepReq_t zdoSleepReq;                          // Request parameters for stack sleep
00029 static ZDO_WakeUpReq_t zdoWakeUpReq;                        // Request parameters for stack awakening
00030 static AppMessageBuffer_t appMessageBuffer;                 // Application message buffer
00031
00032
00033 /***********************************************************************************
00034   Static functions
00035 ***********************************************************************************/
00036 static void ZDO_SleepConf(ZDO_SleepConf_t *conf);           // Sleep confirmation handler
00037 static void ZDO_WakeUpConf(ZDO_WakeUpConf_t *conf);         // Wake up confirmation handler
00038 static void APS_DataConf(APS_DataConf_t *conf);             // Data transmission confirmation handler
00039
00040 static void temperaturesSensorHandler(bool result, int16_t temperature);
00041 static void openPeriphery(void);                            // Open LEDs and Temperature Sensor
00042 static void closePeriphery(void);                           // Close LEDs and Temperature Sensor
00043 static void sendMessage(void);                              // Send the application message
00044 static void prepareToSleep(void);
00045
00046
00047 /********************************************************************
00048   Description:  End device initialization routine
00049   Parameters:   none
00050   Returns:      none
00051 ********************************************************************/
00052 void appEndDeviceInit(void)
00053 {
00054   // Prepare APS Data Request
00055   apsDataReq.dstAddrMode             = APS_SHORT_ADDRESS;                     // Short addressing mode
00056   apsDataReq.dstAddress.shortAddress = 0;                                     // Destination node short address
00057   apsDataReq.dstEndpoint             = APP_ENDPOINT;                          // Destination endpoint
00058   apsDataReq.profileId               = APP_PROFILE_ID;                        // Profile ID
00059   apsDataReq.clusterId               = APP_CLUSTER_ID;                        // Destination cluster ID
00060   apsDataReq.srcEndpoint             = APP_ENDPOINT;                          // Source endpoint
00061   apsDataReq.asduLength              = sizeof (AppMessage_t);                 // ASDU size
00062   apsDataReq.asdu                    = (uint8_t *) &appMessageBuffer.message; // ASDU pointer as an application message
00063   apsDataReq.txOptions.acknowledgedTransmission = 1;                          // Acknowledged transmission enabled
00064   apsDataReq.radius                  = 0;                                     // Default radius
00065   apsDataReq.APS_DataConf            = APS_DataConf;                          // Confirm handler
00066
00067   BSP_OpenTemperatureSensor();
00068 }
00069
00070 /********************************************************************
00071   Description:  Device common task handler
00072   Parameters:   none
00073   Returns:      none
00074 ********************************************************************/
00075 void appEndDeviceTaskHandler(void)
00076 {
00077   switch (appDeviceState)                     // Actual device state when one joined network
00078   {
00079     case DEVICE_ACTIVE_IDLE_STATE:            // Device ready to temperature measuring
00080 #ifdef _TEMPERATURE_SENSOR_
00081       BSP_ReadTemperatureData(temperaturesSensorHandler); // Temperature measuring
00082 #else
00083       temperaturesSensorHandler(false, 0);
00084 #endif // _TEMPERATURE_SENSOR_
00085       break;
00086
00087     case DEVICE_MESSAGE_SENDING_STATE:        // Message sending state
00088       sendMessage();                          // Application message sending
00089       break;
00090
00091     case DEVICE_SLEEP_PREPARE_STATE:          // Prepare to sleep state
00092       if (appReadButtonsState() & BSP_KEY1)
00093         SYS_PostTask(APL_TASK_ID);            // Still in current state.
00094       else
00095         prepareToSleep();                     // Prepare to sleep
00096       break;
00097
00098     case DEVICE_AWAKENING_STATE:              // Awakening state
00099       zdoWakeUpReq.ZDO_WakeUpConf = ZDO_WakeUpConf; // ZDO WakeUp confirm handler defining
00100       ZDO_WakeUpReq(&zdoWakeUpReq);                 // ZDO WakeUp Request sending
00101       break;
00102
00103     default:
00104       break;
00105   }
00106 }
00107
00108 /********************************************************************
00109   Description:  Data intication handler
00110   Parameters:   ind - APS Data Indication primitive
00111   Returns:      none
00112 ********************************************************************/
00113 void appEndDeviceDataInd(APS_DataInd_t* ind)
00114 {
00115   ind = ind; // Warning prevention
00116
00117   // Data received indication
00118   appToggleLed(APP_RECEIVING_STATUS_LED);
00119 }
00120
00121 /********************************************************************
00122   Description:  Open LEDs and Sensor
00123   Parameters:   none
00124   Returns:      none
00125 ********************************************************************/
00126 static void openPeriphery(void)
00127 {
00128   appOpenLeds();
00129
00130 #ifdef _TEMPERATURE_SENSOR_
00131   BSP_OpenTemperatureSensor();
00132 #endif // _TEMPERATURE_SENSOR_
00133 }
00134
00135 /********************************************************************
00136   Description:  Close LEDs and Sensor
00137   Parameters:   none
00138   Returns:      none
00139 *******************************************************************/
00140 static void closePeriphery(void)
00141 {
00142   appOffLed(APP_NETWORK_STATUS_LED);
00143   appOffLed(APP_SENDING_STATUS_LED);
00144   appOffLed(APP_RECEIVING_STATUS_LED);
00145   appCloseLeds();
00146
00147   BSP_CloseTemperatureSensor();
00148 }
00149
00150 /********************************************************************
00151   Description:  Data sent handler
00152   Parameters:   conf - APS Data Confirm primitive
00153   Returns:      none
00154 ********************************************************************/
00155 static void APS_DataConf(APS_DataConf_t *conf)
00156 {
00157   appDataTtransmissionState = APP_DATA_TRANSMISSION_IDLE_STATE; // Data transmission entity is idle
00158
00159   appOffLed(APP_SENDING_STATUS_LED);
00160
00161   if (APS_SUCCESS_STATUS == conf->status) // Data transmission was successfully performed
00162   {
00163     appDeviceState = DEVICE_SLEEP_PREPARE_STATE; // Switch device state to prepare for sleep
00164   }
00165   else
00166   {
00167     appDeviceState = DEVICE_ACTIVE_IDLE_STATE; // Data transmission wasn't successfully finished. Retry.
00168   }
00169
00170   SYS_PostTask(APL_TASK_ID);
00171 }
00172
00173
00174 /********************************************************************
00175   Description:  Temperature measured handler
00176   Parameters:   result - measurement status (true - success, 0 - fail)
00177                 temperature - value measured
00178   Returns:      none
00179 ********************************************************************/
00180 static void temperaturesSensorHandler(bool result, int16_t temperature)
00181 {
00182   // Temperature measured will be sent as an application message
00183   if (true == result)
00184     appMessageBuffer.message.temperature = temperature;
00185   else
00186     appMessageBuffer.message.temperature = 0;
00187
00188   appDeviceState = DEVICE_MESSAGE_SENDING_STATE; //Switch device state to application message sending
00189   SYS_PostTask(APL_TASK_ID); // Application task posting
00190 }
00191
00192 /********************************************************************
00193   Description:  Send the application message
00194   Parameters:   none
00195   Returns:      none
00196 ********************************************************************/
00197 static void sendMessage(void)
00198 {
00199   if (APP_DATA_TRANSMISSION_IDLE_STATE == appDataTtransmissionState)  // If previous data transmission was finished
00200   {
00201     appDataTtransmissionState = APP_DATA_TRANSMISSION_BUSY_STATE;     // Data transmission entity is busy while sending not finished
00202     APS_DataReq(&apsDataReq);
00203     appOnLed(APP_SENDING_STATUS_LED);
00204   }
00205 }
00206
00207
00208 /********************************************************************
00209   Description:  ZDO Sleep Confirm handler
00210   Parameters:   conf - ZDO Sleep Confirm primitive
00211   Returns:      none
00212 ********************************************************************/
00213 static void ZDO_SleepConf(ZDO_SleepConf_t *conf)
00214 {
00215   if (ZDO_SUCCESS_STATUS == conf->status)   // Stack was slept successfully
00216   {
00217     closePeriphery();                       // LEDs and Temperature Sensor closing
00218     appDeviceState = DEVICE_SLEEP_STATE;    // Device actually slept
00219   }
00220   else
00221     SYS_PostTask(APL_TASK_ID);              // Still in current state.
00222                                             // Application task posting for attempt repeat.
00223 }
00224
00225 /********************************************************************
00226   Description:  Prepare to sleep
00227   Parameters:   none
00228   Returns:      none
00229 ********************************************************************/
00230 static void prepareToSleep(void)
00231 {
00232   zdoSleepReq.ZDO_SleepConf = ZDO_SleepConf;  // Sleep Confirm handler defining
00233   ZDO_SleepReq(&zdoSleepReq);                 // Sleep Request sending
00234 }
00235
00236 /********************************************************************
00237   Description: Device wakeup handler.
00238   Parameters: none
00239   Returns:    none
00240 ********************************************************************/
00241 static void wakeUpHandler(void)
00242 {
00243   appDeviceState = DEVICE_ACTIVE_IDLE_STATE;
00244
00245   openPeriphery();
00246
00247   // Turn network indication on
00248   appOnLed(APP_NETWORK_STATUS_LED);
00249
00250   SYS_PostTask(APL_TASK_ID);
00251 }
00252
00253 /********************************************************************
00254   Description: End device wake up indication
00255
00256   Parameters: none.
00257
00258   Returns: nothing.
00259 ********************************************************************/
00260 void ZDO_WakeUpInd(void)
00261 {
00262   if (DEVICE_SLEEP_STATE == appDeviceState)
00263     wakeUpHandler();
00264 }
00265
00266 /********************************************************************
00267   Description: Wake up confirmation handler
00268
00269   Parameters: conf - confirmation parameters
00270
00271   Returns: nothing.
00272 ********************************************************************/
00273 void ZDO_WakeUpConf(ZDO_WakeUpConf_t *conf)
00274 {
00275   if (ZDO_SUCCESS_STATUS == conf->status)
00276     wakeUpHandler();
00277   else
00278     SYS_PostTask(APL_TASK_ID);
00279 }
00280
00281 #endif // _ENDDEVICE_
00282
00283 // eof enddevice.c
Generated on Tue Feb 17 16:44:56 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Main Page

  • Functions Summary
  • Sample Applications
  • APS
  • ZDO

BitCloud SDK for ATZB-DK-24 / ATZB-DK-A24 / ATZB-DK-900

v. 1.4.1

Introduction

The BitCloud is a full-featured, professional grade embedded software ZigBee stack from Atmel. The stack provides a software development platform for reliable, scalable, and secure wireless applications running on Atmel microcontrollers and radio transceivers. BitCloud is designed to support a broad ecosystem of user-designed applications addressing diverse requirements while enabling a full spectrum of software customization.

The BitCloud stack is fully compliant with ZigBee PRO and ZigBee standards for wireless sensing and control. It provides an augmented set of APIs which, while maintaining full compliance with the standard, offer extended functionality designed with developer's convenience and ease-of-use in mind.

BitCloud's target audience is system designers, embedded programmers and hardware engineers evaluating, prototyping, and deploying ZigBee solutions and products built on the Atmel hardware platform. BitCloud is delivered as a software development kit, which includes

  • extensive documentation
  • standard set of libraries comprising multiple components of the stack
  • sample user applications in source code
  • a complete set of peripheral drivers (also in source code) for the supported platforms

Features

The BitCloud internal architecture follows IEEE 802.15.4™, ZigBee-defined convention of splitting the networking stack into logical layers. Besides the core stack containing protocol implementation, BitCloud contains additional layers implementing shared services (e.g. task manager, security, and power manager) and hardware abstractions (e.g. hardware abstraction layer HAL and board support package BSP). The APIs contributed by these layers are outside the scope of core stack functionality. However, these essential additions to the set of APIs significantly help reduce application complexity and simplify integration.

The topmost of the core stack layers, APS, provides the highest level of networking-related APIs visible to the application.

ZDO provides a set of fully compliant ZigBee Device Object APIs which enable main network management functionality (start, reset, formation, join) and power management (sleep, wakeup). ZDO also defines ZigBee Device Profile types, device and service discovery commands implemented by the stack, and provides APIs for unicast, multicast, and broadcast data transmission and acknowledgment.

There are three service "planes" including: task manager, security, and power manager. These services are available to the user application, and may also be utilized by lower stack layers.

Task manager is the stack scheduler which mediates the use of the MCU among internal stack components and user application. The task manager utilizes a proprietary priority queue-based algorithm specifically tuned for multi-layer stack environment and demands of time-critical network protocols.

Power management routines are responsible for gracefully shutting down all stack components and saving system state when preparing to sleep and restoring system state when waking up.

Hardware Abstraction Layer includes a complete set of APIs for using on-module hardware resources (EEPROM, app, sleep, and watchdog timers) as well as the reference drivers for rapid design-in and smooth integration with a range of external peripherals (IRQ, I2C, SPI, UART, 1-wire).

Board Support Package includes a complete set of drivers for managing standard peripherals (sensors, UID chip, sliders, and buttons) placed on a MeshBean development board.

Configuration server is a component of the stack that stores key stack configuration parameters and allows users to change them without recompiling the core stack layers. Users can configure the stack and specify key parameters (e.g. select tree vs. mesh routing, network fan-in, and depth, PAN ID, channel mask, etc.) all without managing multiple versions of the stack libraries.

BitCloud Software Stack Architecture

Network Topology

The BitCloud Stack supports star, tree, and mesh topologies. In a star topology, the network is controlled by one single device called coordinator. The coordinator is responsible for initiating and maintaining the devices on the network. All other devices, known as end devices, directly communicate with the coordinator. In mesh and tree topologies, the coordinator is responsible for starting the network and for choosing certain key network parameters, but the network may be extended through the use of routers.

BitCloud API Functions

The BitCloud API functions contained within this package fall into the categories related to the following layers:

  • APS (Application Support Sublayer)
  • ZDO (ZigBee device object)
  • Configuration server functions
  • Multitasking management functions
  • HAL (functions dealing with the hardware functionality of the ZigBit module)
  • BSP (functions that provide interface to the buttons and sensors of the MeshBean board)
Generated on Tue Jun 3 12:45:19 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZigBee Device Objects

  • Functions Summary
  • Sample Applications
  • APS
  • ZDO
  • Device and Service Discovery
  • Network Management
  • Power Management

Network Management

Network management provides the following capabilities:

  • To retrieve management information from the devices including:
    • Network status
    • Network parameters
    • Node address
    • Energy detection scan results
    • Link quality to neighbor nodes
    • Neighbor table contents
    • Neighbor nodes amount

  • To set management controls including:
    • Start network primitive is generated by coordinator in order to form a network. Routers and end devices shall generate this primitive to join to existing network.
      See use cases:
      Lowpower coordinator sample application.
      Lowpower enddevice sample application.
      On receipt of this primitive, device shall return a confirmation.
      See use case: Lowpower sample application.
    • Reset network
    • Leave network.
    • Permit joining
    • Network update and fault notification
    • Set transmitter power
Generated on Wed Oct 1 12:45:19 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


Peer-to-peer Application Source File

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Source code

peer2peer.c

Back to Peer-to-peer sample application.

00001
00017 /******************************************************************************
00018                     Includes section
00019 ******************************************************************************/
00020 #include <types.h>
00021 #include <configServer.h>
00022 #include <appTimer.h>
00023 #include <zdo.h>
00024 #include <peer2peer.h>
00025 #include <serialInterface.h>
00026
00027 /******************************************************************************
00028                     Define(s) section
00029 ******************************************************************************/
00030
00031 /******************************************************************************
00032                     Variables section
00033 ******************************************************************************/
00034 // Network related variables
00035 static uint16_t nwkAddr;                        // Own NWK address
00036 static AppMessageBuffer_t appMessageBuffer;     // Application message buffer
00037 static uint8_t messageIdTx = 0;                 // Application transmitted message ID
00038 static uint8_t messageIdRx = 0;                 // Application received message ID
00039 static bool messageIdRxValid = false;           // Application received message ID valid flag
00040 static uint8_t actualDataLength = 0;            // Actual data length to be transmitted via network
00041
00042 // Temporary data received via network buffer
00043 static uint8_t tmpDataBuffer[APP_TMP_DATA_BUFFER_SIZE];
00044 static uint8_t tmpDataBufferActualLength = 0;
00045
00046 // UART related variables
00047 static HAL_UartDescriptor_t appUartDescriptor;          // UART descriptor (required by stack)
00048 static bool uartTxBusyFlag = false;                     // UART transmission transaction status
00049 static uint8_t uartTxBuffer[APP_UART_TX_BUFFER_SIZE];   // UART Tx buffer
00050 static uint8_t uartRxBuffer[APP_UART_RX_BUFFER_SIZE];   // UART Rx buffer
00051 static uint8_t uartRxPending = 0;
00052
00053 static AppState_t appState = APP_INITIAL_STATE;  // application state
00054 static AppDataTransmission_t appDataTransmissionState = APP_DATA_TRANSMISSION_IDLE_STATE; //application data transmission feature state
00055 static ZDO_StartNetworkReq_t networkParams; // request params for ZDO_StartNetworkReq
00056 static APS_DataReq_t apsDataReq;
00057
00058 // endpoint parameters
00059 static SimpleDescriptor_t simpleDescriptor = { APP_ENDPOINT, APP_PROFILE_ID, 1, 1, 0, 0 , NULL, 0, NULL };
00060 static APS_RegisterEndpointReq_t endpointParams;
00061
00062 // Timer indicating starting network during network joining.
00063 // Also used as delay timer between APS_DataConf and APS_DataReq.
00064 static HAL_AppTimer_t delayTimer;
00065
00066 /***********************************************************************************
00067                     Static functions declarations section
00068 ***********************************************************************************/
00069 static void APS_DataIndication(APS_DataInd_t* dataInd);
00070 static void APS_DataConf(APS_DataConf_t* confInfo);
00071 static void ZDO_StartNetworkConf(ZDO_StartNetworkConf_t* confirmInfo);
00072 static void initNetwork(void);
00073 static void startNetwork(void);
00074 static void networkSendData(bool newTransmission);
00075 static void startBlinkTimer(void);
00076 static void initSerialInterface(void);
00077 static void sendDataToUart(uint8_t*, uint8_t);
00078 static void startingNetworkTimerFired(void);
00079 static void delayTimerFired(void);
00080 static void uartBytesReceived(uint8_t readBytesLen);
00081 static void uartWriteConf(void);
00082 static void buttonReleased(uint8_t buttons);
00083
00084 /***********************************************************************************
00085                     Implementation section
00086 ***********************************************************************************/
00087 /**************************************************************************/
00093 void APL_TaskHandler(void)
00094 {
00095   switch (appState)
00096   {
00097     case APP_INITIAL_STATE:                 // Node has initial state
00098       initSerialInterface();                // Open UART
00099       appOpenButtons(NULL, buttonReleased); // Open buttons
00100       appOpenLeds();                        // Enable LEDs
00101       initNetwork();
00102       SYS_PostTask(APL_TASK_ID);            // Execute next step
00103       break;
00104
00105     case APP_NETWORK_JOINING_STATE:
00106       startBlinkTimer();
00107       startNetwork();
00108       break;
00109
00110     case APP_NETWORK_JOINED_STATE:
00111     default:
00112       break;
00113   }
00114 }
00115
00116 /**************************************************************************/
00122 static void initNetwork(void)
00123 {
00124   DeviceType_t  deviceType  = DEVICE_TYPE_ROUTER;
00125   ExtAddr_t     extAddr     = APP_COORD_UID;
00126
00127 #ifndef _SLIDERS_
00128   // NWK preconfigured address reading for Config Server
00129   CS_ReadParameter(CS_NWK_ADDR_ID, &nwkAddr);
00130 #else  //#ifndef _SLIDERS_
00131   // NWK address reading from sliders
00132   nwkAddr = BSP_ReadSliders();
00133   // Set the NWK address value to Config Server
00134   CS_WriteParameter(CS_NWK_ADDR_ID, &nwkAddr);
00135 #endif //#ifndef _SLIDERS_
00136
00137   //NWK address value check
00138   if (APP_MAX_NWK_ADDR < nwkAddr)
00139   {
00140     appState = APP_ERROR_STATE;
00141   }
00142   else
00143   {
00144     // Node role detection. If nwkAddr == 0 then node is coordinator.
00145     // In othe case the node role is router.
00146     if (0 == nwkAddr)
00147     {
00148       deviceType = DEVICE_TYPE_COORDINATOR;
00149       // Set the extended address value to Config Server for coordinator only
00150       CS_WriteParameter(CS_UID_ID, &extAddr);
00151     }
00152     // Set the deviceType value to Config Server
00153     CS_WriteParameter(CS_DEVICE_TYPE_ID, &deviceType);
00154
00155     // Application state changing
00156     appState = APP_NETWORK_JOINING_STATE;
00157   }
00158 }
00159
00160 /**************************************************************************/
00166 void ZDO_StartNetworkConf(ZDO_StartNetworkConf_t* confirmInfo)
00167 {
00168   if (confirmInfo->status == ZDO_SUCCESS_STATUS)
00169   {
00170     appState = APP_NETWORK_JOINED_STATE;
00171     actualDataLength = 0;
00172     messageIdRxValid = false;
00173     uartRxPending = 0;
00174
00175     // Stop the blink timer
00176     HAL_StopAppTimer(&delayTimer);
00177     appOnLed(APP_NETWORK_STATUS_LED);
00178
00179 #if APP_DATA_TRANSMISSION_DELAY
00180     // Setup timer to be used as delay timer between APS_DataConf and APS_DataReq.
00181     delayTimer.interval = APP_DATA_TRANSMISSION_DELAY;
00182     delayTimer.mode     = TIMER_ONE_SHOT_MODE;
00183     delayTimer.callback = delayTimerFired;
00184 #endif
00185
00186     // Set application endpoint properties
00187     endpointParams.simpleDescriptor = &simpleDescriptor;
00188     endpointParams.APS_DataInd = APS_DataIndication;
00189     // Register endpoint
00190     APS_RegisterEndpointReq(&endpointParams);
00191   }
00192   else
00193   {
00194     SYS_PostTask(APL_TASK_ID);
00195   }
00196 }
00197
00198 /**************************************************************************/
00204 static void startNetwork(void)
00205 {
00206   networkParams.ZDO_StartNetworkConf = ZDO_StartNetworkConf;
00207   // start network
00208   ZDO_StartNetworkReq(&networkParams);
00209 }
00210
00211 /**************************************************************************/
00217 static void startBlinkTimer(void)
00218 {
00219   delayTimer.interval = APP_JOINING_INDICATION_PERIOD;
00220   delayTimer.mode     = TIMER_REPEAT_MODE;
00221   delayTimer.callback = startingNetworkTimerFired;
00222   HAL_StartAppTimer(&delayTimer);
00223 }
00224
00225 /**************************************************************************/
00231 static void startingNetworkTimerFired(void)
00232 {
00233   appToggleLed(APP_NETWORK_STATUS_LED);
00234 }
00235
00236 /**************************************************************************/
00242 void ZDO_MgmtNwkUpdateNotf(ZDO_MgmtNwkUpdateNotf_t *nwkParams)
00243 {
00244   switch (nwkParams->status)
00245   {
00246     case ZDO_NETWORK_STARTED_STATUS:
00247       break;
00248
00249     case ZDO_NETWORK_LOST_STATUS:
00250 //    case ZDO_REJOIN_STARTED_STATUS:
00251       {
00252         APS_UnregisterEndpointReq_t unregEndpoint;
00253         if (APP_NETWORK_JOINED_STATE == appState)
00254         {
00255           unregEndpoint.endpoint = endpointParams.simpleDescriptor->endpoint;
00256           APS_UnregisterEndpointReq(&unregEndpoint);
00257         }
00258         appOffLed(APP_NETWORK_STATUS_LED);
00259
00260         // try to rejoin the network
00261         appState = APP_NETWORK_JOINING_STATE;
00262         SYS_PostTask(APL_TASK_ID);
00263         break;
00264       }
00265
00266     case ZDO_NWK_UPDATE_STATUS:
00267       break;
00268
00269     default:
00270       break;
00271   }
00272 }
00273
00274 /**************************************************************************/
00280 void ZDO_WakeUpInd(void)
00281 {
00282 }
00283
00284 /**************************************************************************/
00290 void ZDO_SleepInd(void)
00291 {
00292 }
00293
00294 /**************************************************************************/
00301 static void networkSendData(bool newTransmission)
00302 {
00303   if (APP_DATA_TRANSMISSION_IDLE_STATE == appDataTransmissionState)
00304   {
00305     appDataTransmissionState = APP_DATA_TRANSMISSION_BUSY_STATE;
00306     // indicate we're sending
00307     appOnLed(APP_SENDING_STATUS_LED);
00308
00309     if (newTransmission)
00310     {
00311       // The new applicatiom message will be sent
00312       // messageId value
00313       appMessageBuffer.message.messageId = messageIdTx++;
00314       // APS Data Request preparing
00315       apsDataReq.dstAddrMode = APS_SHORT_ADDRESS;               // Short addressing mode
00316       // Destination address
00317       apsDataReq.dstAddress.shortAddress = (nwkAddr & 0xfffe) | ((~nwkAddr) & 0x01);
00318       apsDataReq.profileId = simpleDescriptor.AppProfileId;     // Profile ID
00319       apsDataReq.dstEndpoint = simpleDescriptor.endpoint;       // Desctination endpoint
00320       apsDataReq.clusterId = APP_CLUSTER_ID;                    // Desctination cluster ID
00321       apsDataReq.srcEndpoint = simpleDescriptor.endpoint;       // Source endpoint
00322       apsDataReq.asdu = (uint8_t*) &appMessageBuffer.message;   // application message pointer
00323       // actual application message length
00324       apsDataReq.asduLength = actualDataLength + sizeof(appMessageBuffer.message.messageId);
00325       apsDataReq.txOptions.acknowledgedTransmission = 1;        // Acknowledged transmission enabled
00326       apsDataReq.radius = 0;                                    // Default radius
00327       apsDataReq.APS_DataConf = APS_DataConf;                   // Confirm handler
00328     }
00329
00330     // send data request
00331     APS_DataReq(&apsDataReq);
00332   }
00333 }
00334
00335 /**************************************************************************/
00341 void APS_DataConf(APS_DataConf_t* confInfo)
00342 {
00343   appOffLed(APP_SENDING_STATUS_LED);
00344
00345   if (APS_SUCCESS_STATUS == confInfo->status) // data delivered
00346   {
00347 #if APP_DATA_TRANSMISSION_DELAY
00348     // Start delay timer. This timer is used to prevent collisions in duplex mode.
00349     HAL_StartAppTimer(&delayTimer);
00350 #else
00351     // No delay needed.
00352     delayTimerFired();
00353 #endif
00354   }
00355   else  // data not delivered, resend
00356   {
00357     appDataTransmissionState = APP_DATA_TRANSMISSION_IDLE_STATE;
00358     networkSendData(false); // Current application message retransmission
00359   }
00360 }
00361
00362 /**************************************************************************/
00368 static void delayTimerFired(void)
00369 {
00370   appDataTransmissionState = APP_DATA_TRANSMISSION_IDLE_STATE;
00371
00372   appOffLed(APP_SENDING_STATUS_LED);
00373
00374   if (uartRxPending > 0)
00375     uartBytesReceived(uartRxPending);
00376 }
00377
00378 /**************************************************************************/
00384 void APS_DataIndication(APS_DataInd_t* indData)
00385 {
00386   AppMessage_t *appMessage = (AppMessage_t *) indData->asdu;
00387
00388   // Data received indication
00389   appOnLed(APP_RECEIVING_STATUS_LED);
00390
00391   if ((false == messageIdRxValid) ||
00392       (messageIdRx != appMessage->messageId))
00393   {
00394     messageIdRxValid = true;
00395     messageIdRx = appMessage->messageId;
00396     // write received data to UART
00397     sendDataToUart(appMessage->data, indData->asduLength - 1);
00398   }
00399   appOffLed(APP_RECEIVING_STATUS_LED);
00400 }
00401
00402 /**************************************************************************/
00408 static void initSerialInterface(void)
00409 {
00410   uartTxBusyFlag = false;
00411
00412   appUartDescriptor.tty             = UART_CHANNEL;
00413   appUartDescriptor.mode            = ASYNC;
00414   appUartDescriptor.baudrate        = UART_BAUDRATE_38400;
00415   appUartDescriptor.dataLength      = UART_DATA8;
00416   appUartDescriptor.parity          = UART_PARITY_NONE;
00417   appUartDescriptor.stopbits        = UART_STOPBIT_1;
00418   appUartDescriptor.rxBuffer        = uartRxBuffer;
00419   appUartDescriptor.rxBufferLength  = sizeof(uartRxBuffer);
00420   appUartDescriptor.txBuffer        = NULL; // use callback mode
00421   appUartDescriptor.txBufferLength  = 0;
00422   appUartDescriptor.rxCallback      = uartBytesReceived;
00423   appUartDescriptor.txCallback      = uartWriteConf;
00424   appUartDescriptor.flowControl     = UART_FLOW_CONTROL_HARDWARE;
00425   OPEN_UART(&appUartDescriptor);
00426 }
00427
00428 /**************************************************************************/
00435 static void sendDataToUart(uint8_t* data, uint8_t length)
00436 {
00437   if (APP_TMP_DATA_BUFFER_SIZE > tmpDataBufferActualLength + length)
00438   {
00439     memcpy(&tmpDataBuffer[tmpDataBufferActualLength], data, length);
00440     tmpDataBufferActualLength += length;
00441     // If there are no space in tmp Buffer for future messages receive
00442   }
00443
00444   if (false == uartTxBusyFlag)
00445   {
00446     uartWriteConf();
00447   }
00448
00449   // If there are no space in tmp Buffer for future messages receive
00450   if (APP_TMP_DATA_BUFFER_SIZE < tmpDataBufferActualLength + APP_MAX_DATA_SIZE)
00451   {
00452     APS_StopEndpointIndication(APP_ENDPOINT); // Disable APS Data Indications
00453   }
00454 }
00455
00456 /**************************************************************************/
00462 static void uartWriteConf(void)
00463 {
00464   int bytesWritten;
00465
00466   if (0 < tmpDataBufferActualLength)  // data waiting to be written to UART
00467   {
00468     memcpy(uartTxBuffer, tmpDataBuffer, tmpDataBufferActualLength);
00469     bytesWritten = WRITE_UART(&appUartDescriptor, uartTxBuffer, tmpDataBufferActualLength);
00470     if (0 < bytesWritten)
00471     {
00472       tmpDataBufferActualLength -= bytesWritten;
00473       uartTxBusyFlag = true;
00474     }
00475   }
00476   else
00477   {
00478     uartTxBusyFlag = false;
00479     APS_ResumeEndpointIndication(APP_ENDPOINT); // Enable APS Data Indications
00480   }
00481 }
00482
00483 /**************************************************************************/
00489 static void uartBytesReceived(uint8_t bytesToRead)
00490 {
00491   if (APP_NETWORK_JOINED_STATE == appState)
00492   {
00493     uartRxPending = bytesToRead;
00494
00495     if (APP_DATA_TRANSMISSION_IDLE_STATE == appDataTransmissionState)
00496     {
00497       if (APP_MAX_DATA_SIZE < bytesToRead)
00498         bytesToRead = APP_MAX_DATA_SIZE;
00499
00500       // Read data from UART
00501       actualDataLength = (uint8_t) READ_UART(&appUartDescriptor, appMessageBuffer.message.data, bytesToRead);
00502
00503       networkSendData(true);
00504
00505       uartRxPending -= bytesToRead;
00506     }
00507   }
00508 }
00509
00510 /**************************************************************************/
00516 static void buttonReleased(uint8_t aButton)
00517 {
00518   switch (aButton)
00519   {
00520     case BSP_KEY0:  // SW1 pressed
00521       if ((APP_NETWORK_JOINED_STATE == appState) &&
00522           (APP_DATA_TRANSMISSION_IDLE_STATE == appDataTransmissionState))
00523       {
00524         // Fill the buffer with some data and send it
00525         memset(&appMessageBuffer.message.data, 0xdd, APP_MAX_DATA_SIZE);
00526         actualDataLength = APP_MAX_DATA_SIZE;
00527         networkSendData(true);
00528         break;
00529       }
00530
00531     default:
00532       break;
00533   }
00534 }
00535
00536 // eof peer2Peer.c
Generated on Tue Feb 17 16:44:56 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


Ping-Pong Application Source File

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Source code

pingpong.c

Back to Ping-Pong sample application.

00001
00017 #include <configServer.h>    // Config Server header
00018 #include <taskManager.h>
00019 #include <appFramework.h>    // Main stack types
00020 #include <appTimer.h>        // Application timer header
00021 #include <apsMacros.h>
00022 #include <pingpong.h>        // Own application header
00023 #include <uart.h>
00024 #include <uid.h>
00025 #include <aps.h>             // Main APS header
00026 #include <zdo.h>             // Main ZDO header
00027
00028 #ifdef _DBG_
00029   #include <dbgPort.h>
00030 #endif // _DBG_
00031
00032
00033 /***********************************************************************************
00034   Local variables
00035 ***********************************************************************************/
00036
00037 static DeviceType_t appDeviceType = 0;  // Device type (Router/Coordinator/End device)
00038 static uint8_t dataPayload; // Payload
00039 static uint8_t appPayload[APP_PAYLOAD_SIZE + APS_AFFIX_LENGTH]; // Buffer for application payload
00040 bool fwPacketFlag = false;  // Flag indicating that device is currently forwarding a packet
00041
00042 static AppState_t appState = APP_INITING_STATE; // Current application state
00043 static ZDO_StartNetworkReq_t networkParams; // Request params for ZDO_StartNetworkReq
00044
00045 #ifdef TEST_NETWORK
00046 static HAL_UartDescriptor_t appUartDescriptor; // UART descriptor (required by stack)
00047 #endif // TEST_NETWORK
00048
00049 // Endpoint parameters
00050 static SimpleDescriptor_t simpleDescriptor = {END_POINT, 1, 1, 1, 0, 0 , NULL, 0, NULL};
00051 static APS_RegisterEndpointReq_t endpointParams;
00052
00053 static HAL_AppTimer_t startingNetworkTimer; // Timer indicating starting network
00054 static HAL_AppTimer_t delayFwTimer;         // Timer period of waiting before forwarding packet to next node
00055
00056 static APS_DataReq_t dataReq;        // Request for APS_DataReq primitive
00057
00058 static ShortAddr_t srcAddr;          // Own network address
00059 static ShortAddr_t dstAddr;          // Destination network address
00060
00061 /***********************************************************************************
00062   Local functions
00063 ***********************************************************************************/
00064
00065 static void ZDO_StartNetworkConf(ZDO_StartNetworkConf_t *confirmInfo); // Network start/join confirmation
00066 static void APS_DataInd(APS_DataInd_t *indData); // Data reception handler
00067 static void APS_DataConf(APS_DataConf_t *confInfo);  // Data transmission confirmation handler
00068 static void buttonReleased(uint8_t buttonNumber); // Button release event handler
00069 static void prepareMsgParams(void); // Configures general data message parameters
00070
00071 #ifdef TEST_NETWORK
00072 // UART related functions (only required for test network)
00073 static void uartInit(void);
00074 static void uartSendHeartbeat(void);
00075 static void uartWriteConf(void);
00076 #endif // TEST_NETWORK
00077
00078 /********************************************************************
00079   Description: Starting network timer has fired. Toggle LED for blink
00080
00081   Parameters: none.
00082
00083   Returns: nothing.
00084 ********************************************************************/
00085 void startingNetworkTimerFired(void)
00086 {
00087   appToggleLed(NETWORK_LED);
00088 }
00089
00090 /********************************************************************
00091   Description: Packet forwarding delay has expired. Forward packet and turn indicating LED off
00092
00093   Parameters: none.
00094
00095   Returns: nothing.
00096 ********************************************************************/
00097 void delayFwTimerFired(void)
00098 {
00099   appOnLed(DATA_LED);
00100   APS_DataReq(&dataReq);
00101 }
00102
00103 /********************************************************************
00104   Description: Application task handler
00105
00106   Parameters: none.
00107
00108   Returns: nothing.
00109 ********************************************************************/
00110 void APL_TaskHandler(void)
00111 {
00112   switch (appState)
00113   {
00114     // Node is in initial state
00115     case APP_INITING_STATE:
00116     {
00117       uint64_t extPanId = COORDINATOR_EXT_PANID;
00118       CS_WriteParameter(CS_EXT_PANID_ID, &extPanId);
00119
00120 #ifdef _DBG_
00121       configure_dbgu();
00122 #endif // _DBG_
00123
00124       endpointParams.simpleDescriptor = &simpleDescriptor;
00125
00126       // Read switches and assign own network address
00127        //uint8_t dswitch = 0;
00128       uint8_t dswitch;
00129       dswitch = appReadSliders() & 7;
00130
00131       srcAddr = dswitch & 3;
00132
00133       // If 3rd switch is on then destination address is 0 (coordinator)
00134       if (dswitch & 4)
00135         dstAddr = 0;
00136       else
00137         dstAddr = srcAddr + 1;
00138
00139       CS_WriteParameter(CS_NWK_ADDR_ID, &srcAddr); // Assign own NWK address
00140       // Set device type: logical address equal to 0 is coordinator, otherwise router
00141       appDeviceType = srcAddr ? DEVICE_TYPE_ROUTER : DEVICE_TYPE_COORDINATOR;
00142       CS_WriteParameter(CS_DEVICE_TYPE_ID, &appDeviceType);
00143
00144 #ifdef _SECURITY_
00145       if (DEVICE_TYPE_COORDINATOR == appDeviceType)
00146       {
00147         CS_WriteParameter(CS_UID_ID, &extPanId);
00148         CS_WriteParameter(CS_APS_TRUST_CENTER_ADDRESS_ID, &extPanId);
00149       }
00150 #endif
00151
00152 #ifdef TEST_NETWORK
00153       if (DEVICE_TYPE_COORDINATOR == appDeviceType)
00154         uartInit();
00155 #endif // TEST_NETWORK
00156
00157       { // Use static network addressing
00158         bool useStatAddr = true;
00159         CS_WriteParameter(CS_NWK_UNIQUE_ADDR_ID, &useStatAddr);
00160       }
00161
00162       { // Set transceiver to be always on (no sleeping)
00163         bool rxOnWhenIdleFlag = true;
00164         CS_WriteParameter(CS_RX_ON_WHEN_IDLE_ID, &rxOnWhenIdleFlag);
00165       }
00166
00167       appOpenLeds();
00168
00169       endpointParams.APS_DataInd = APS_DataInd;   // Register handler for incoming data packets
00170       appState = APP_AWAITING_NETWORK_START_STATE; // Switch to awaiting network start state
00171       SYS_PostTask (APL_TASK_ID);
00172       break;
00173     }
00174
00175     // Node is waiting network start/join request
00176     case APP_AWAITING_NETWORK_START_STATE:
00177       appOpenButtons(NULL, buttonReleased); // Set handlers for button events
00178
00179 #ifndef _BUTTONS_ // Button press simulating.
00180       buttonReleased(NETWORK_BUTTON);
00181 #endif // _BUTTONS_
00182       break;
00183
00184     // Node is starting/joining network
00185     case APP_NETWORK_STARTING_STATE:
00186       {
00187         uint32_t chMask = CS_CHANNEL_MASK;
00188
00189         // Set network request parameters
00190         CS_WriteParameter(CS_CHANNEL_MASK_ID, &chMask);
00191         networkParams.ZDO_StartNetworkConf = ZDO_StartNetworkConf; // Handler for network start confirmation
00192         ZDO_StartNetworkReq(&networkParams); // Start/join network
00193       }
00194       break;
00195
00196       // Data sending after indication
00197     case APP_NETWORK_DATA_SENDING_STATE:
00198       // No packet is being currently forwarded by the device
00199       if (fwPacketFlag == false)
00200       {
00201         // Set payload value
00202         appPayload[APS_ASDU_OFFSET] = dataPayload;
00203         dataReq.asdu = (uint8_t *) &appPayload[APS_ASDU_OFFSET];
00204         // Start delay packet transmission timer
00205         delayFwTimer.interval = TIMER_FW_DELAY;
00206         delayFwTimer.mode     = TIMER_ONE_SHOT_MODE;
00207         delayFwTimer.callback = delayFwTimerFired;
00208
00209         HAL_StartAppTimer(&delayFwTimer);
00210         appState = APP_WAITING_CONFIRM_STATE; // Switch application state
00211         fwPacketFlag = true; // Mark node as currently forwarding a packet
00212       }
00213       else
00214       {
00215         SYS_PostTask(APL_TASK_ID);
00216       }
00217       break;
00218
00219       // Waiting confirm
00220     case APP_WAITING_CONFIRM_STATE:
00221       break;
00222
00223     // Node is in network
00224     case APP_IN_NETWORK_STATE:
00225 #ifndef _BUTTONS_
00226   #if FINAL_DEVICE
00227         buttonReleased(DATA_TX_BUTTON); // Button released event simulating.
00228   #endif // FINAL_DEVICE == 1
00229 #endif // _BUTTONS_
00230       break;
00231
00232     // Node is out of network
00233     case APP_NO_NETWORK_STATE:
00234       break;
00235
00236     default:
00237       break;
00238   }
00239 }
00240
00241 /********************************************************************
00242   Description: ZDO_StartNetwork primitive confirmation was received.
00243
00244   Parameters: confirmInfo - confirmation information
00245
00246   Returns: nothing.
00247 ********************************************************************/
00248 void ZDO_StartNetworkConf(ZDO_StartNetworkConf_t *confirmInfo)
00249 {
00250   // Network start/join was successful
00251   if (ZDO_SUCCESS_STATUS == confirmInfo->status)
00252   {
00253     HAL_StopAppTimer(&startingNetworkTimer); // Stop network led blinking
00254     appOnLed(NETWORK_LED); // Indicate successfull network start/join
00255
00256     CS_WriteParameter(CS_STACK_PROFILE_ID, &endpointParams.simpleDescriptor->AppProfileId);
00257
00258     APS_RegisterEndpointReq(&endpointParams); // Register endpoint
00259     prepareMsgParams(); // Set basic data message parameters
00260
00261     appState = APP_IN_NETWORK_STATE; // Switch application state
00262   }
00263
00264   SYS_PostTask(APL_TASK_ID);
00265 }
00266
00267 /********************************************************************
00268   Description: Button release handler
00269
00270   Parameters: buttonNumber - number of button being released
00271
00272   Returns: nothing.
00273 ********************************************************************/
00274 static void buttonReleased(uint8_t buttonNumber)
00275 {
00276   // Start/join network request
00277   if ((APP_AWAITING_NETWORK_START_STATE == appState) && (NETWORK_BUTTON == buttonNumber))
00278   {
00279     // Set and start timer for LED blinking during network start
00280     startingNetworkTimer.interval = TIMER_STARTING_NETWORK;
00281     startingNetworkTimer.mode     = TIMER_REPEAT_MODE;
00282     startingNetworkTimer.callback = startingNetworkTimerFired;
00283     HAL_StartAppTimer(&startingNetworkTimer);
00284
00285     appState = APP_NETWORK_STARTING_STATE; // Switch application state
00286     SYS_PostTask(APL_TASK_ID);
00287   }
00288
00289   // Initialize data packet transmission
00290   else if ((DATA_TX_BUTTON == buttonNumber) &&
00291            (APP_IN_NETWORK_STATE == appState) &&
00292            (false == fwPacketFlag))
00293   {
00294     uint8_t data = 0; // Initial payload value
00295     fwPacketFlag = true; // Transmitting packet, disable packet forwarding
00296
00297     appPayload[APS_ASDU_OFFSET] = data;
00298     dataReq.asdu = (uint8_t *) &appPayload[APS_ASDU_OFFSET];
00299
00300     // Configure and start delay packet forwarding timer
00301     delayFwTimer.interval = TIMER_FW_DELAY;
00302     delayFwTimer.mode     = TIMER_ONE_SHOT_MODE;
00303     delayFwTimer.callback = delayFwTimerFired;
00304     HAL_StartAppTimer(&delayFwTimer);
00305
00306     appState = APP_WAITING_CONFIRM_STATE; // Switch application state
00307   }
00308 }
00309
00310 /********************************************************************
00311   Description: Confirmation of message received.
00312   Turn off data forwarding indication LED
00313
00314   Parameters: confData - confirmation information
00315
00316   Returns: nothing.
00317 ********************************************************************/
00318 static void APS_DataConf(APS_DataConf_t *confData)
00319 {
00320   // TODO: add status checking
00321   confData = confData;         // Unused parameter, warning prevention
00322   fwPacketFlag = false;      // Enable packet forwarding
00323
00324   if (APS_SUCCESS_STATUS != confData->status)
00325   {
00326     appState = APP_NETWORK_DATA_SENDING_STATE;
00327     SYS_PostTask(APL_TASK_ID);
00328   }
00329   else
00330   {
00331     appOffLed(DATA_LED);    // Transmission completed, turn off indication
00332
00333     if (APP_WAITING_CONFIRM_STATE == appState)
00334       appState = APP_IN_NETWORK_STATE; // Switch application state
00335   }
00336 }
00337
00338 /********************************************************************
00339   Description: Handler of aps data indication
00340
00341   Parameters: indData - structure of incoming msg
00342
00343   Returns: nothing.
00344 ********************************************************************/
00345 void APS_DataInd(APS_DataInd_t *indData)
00346 {
00347   // Update payload value
00348   dataPayload = *(indData->asdu);
00349
00350   if (DEVICE_TYPE_ROUTER == appDeviceType)
00351   {
00352     dataPayload += 1;
00353     appState = APP_NETWORK_DATA_SENDING_STATE;
00354   }
00355   else
00356   {
00357     dataPayload = 0;
00358 #ifdef TEST_NETWORK
00359     appState = APP_SENDING_HEARTBEAT;
00360     uartSendHeartbeat();
00361 #else
00362     appState = APP_NETWORK_DATA_SENDING_STATE;
00363 #endif // TEST_NETWORK
00364   }
00365
00366   SYS_PostTask(APL_TASK_ID);
00367 }
00368
00369 /********************************************************************
00370   Description: Prepare common data request parameters
00371
00372   Parameters: none.
00373
00374   Returns: nothing.
00375 ********************************************************************/
00376 void prepareMsgParams(void)
00377 {
00378   dataReq.dstAddrMode             = APS_SHORT_ADDRESS; // Use short (NWK) addressing
00379   dataReq.dstAddress.shortAddress = dstAddr;       // Destination NWK address
00380   dataReq.dstEndpoint             = END_POINT;       // Destination endpoint
00381   dataReq.profileId               = endpointParams.simpleDescriptor->AppProfileId;
00382   dataReq.clusterId               = 1;
00383   dataReq.srcEndpoint             = END_POINT;
00384   dataReq.asduLength              = APP_PAYLOAD_SIZE;
00385   dataReq.txOptions.acknowledgedTransmission = 1;//APP_USE_APS_ACK; // Whether ACKs on application level are used
00386   dataReq.radius                  = 0;
00387   dataReq.APS_DataConf            = APS_DataConf;  // Confirm callback function
00388 }
00389
00390 /********************************************************************
00391   Description: update network status event handler
00392
00393   Parameters: nwkParams - new network parameters
00394
00395   Returns: nothing.
00396 ********************************************************************/
00397 void ZDO_MgmtNwkUpdateNotf(ZDO_MgmtNwkUpdateNotf_t *nwkParams)
00398 {
00399   // Network is lost/left
00400   if (ZDO_NETWORK_LOST_STATUS == nwkParams->status)
00401   {
00402     HAL_StartAppTimer(&startingNetworkTimer); // Start indication of network join process
00403     appState = APP_NETWORK_STARTING_STATE;    // Switch application state
00404
00405     SYS_PostTask(APL_TASK_ID);
00406   }
00407 }
00408
00409 /********************************************************************
00410   Description: dummy wakeup event handler
00411
00412   Parameters: none.
00413
00414   Returns: nothing.
00415 ********************************************************************/
00416 void ZDO_WakeUpInd(void)
00417 {
00418 }
00419
00420 /********************************************************************
00421   Description: dummy sleep event handler
00422
00423   Parameters: none.
00424
00425   Returns: nothing.
00426 ********************************************************************/
00427 void ZDO_SleepInd(void)
00428 {
00429 }
00430
00431 #ifdef TEST_NETWORK
00432 /********************************************************************
00433   Description: Init UART, register UART callbacks.
00434
00435   Parameters: none.
00436
00437   Returns: nothing.
00438 ********************************************************************/
00439 static void uartInit(void)
00440 {
00441   appUartDescriptor.tty             = APP_UART_CHANNEL;
00442   appUartDescriptor.mode            = ASYNC;
00443   appUartDescriptor.baudrate        = UART_BAUDRATE_38400;
00444   appUartDescriptor.dataLength      = UART_DATA8;
00445   appUartDescriptor.parity          = UART_PARITY_NONE;
00446   appUartDescriptor.stopbits        = UART_STOPBIT_1;
00447   appUartDescriptor.rxBuffer        = NULL;
00448   appUartDescriptor.rxBufferLength  = 0;
00449   appUartDescriptor.txBuffer        = NULL;
00450   appUartDescriptor.txBufferLength  = 0;
00451   appUartDescriptor.rxCallback      = NULL;
00452   appUartDescriptor.txCallback      = uartWriteConf;
00453   appUartDescriptor.flowControl     = UART_FLOW_CONTROL_NONE;
00454
00455   HAL_OpenUart(&appUartDescriptor);
00456 }
00457
00458 /********************************************************************
00459   Description: Send Heartbeat Signal To Uart
00460
00461   Parameters: none
00462
00463   Returns: nothing.
00464 ********************************************************************/
00465 static void uartSendHeartbeat(void)
00466 {
00467   static uint8_t heartbeat = '#';
00468
00469   HAL_WriteUart(&appUartDescriptor, &heartbeat, 1);
00470 }
00471
00472 /********************************************************************
00473   Description: Writing confirmation has been received.
00474
00475   Parameters: none.
00476
00477   Returns: nothing.
00478 ********************************************************************/
00479 static void uartWriteConf(void)
00480 {
00481   appState = APP_NETWORK_DATA_SENDING_STATE;
00482 }
00483 #endif // TEST_NETWORK
00484
00485 //eof pingpong.c
Generated on Tue Feb 17 16:44:56 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZigBee Device Objects

  • Functions Summary
  • Sample Applications
  • APS
  • ZDO
  • Device and Service Discovery
  • Network Management
  • Power Management

Power Management

In many applications devices are battery powered, and battery replacement or recharging in relatively short intervals is impractical. Therefore, the power consumption is of significant concern. Though in certain applications some of these devices could be mains powered, the BitCloud Stack has been developed to favor battery-powered devices, which will spend most of their operational life in a sleep state and hence require a duty-cycling to reduce power consumption.

The folowing commands are available for power management:

  • Sleep Request command puts the device to sleep mode.
    See use case: Lowpower sample application.
    Upon receipt of this command, device shall return the confirmation.
  • Sleep Indication function indicates to an application that the stack is ready to sleep. In responce to this function stack shall call Sleep Responce function and go to sleep mode.
  • Wake Up Request command forces the stack to wake up from the sleep mode.
    See use case: Lowpower sample application.
    Upon receipt of this command, confirmation shall be returned.
  • Wake Up Indication function indicates to an application that the stack is ready to wake up.
Generated on Tue Jun 3 12:45:19 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Sample Applications

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo

BitCloud Sample Applications

Several demo programs are provided with the BitCloud Software API in order to demonstrate how to develop user's applications.

System requirements

The BitCloud sample applications are intended to run on MeshBeans and other compatible platform devices.

System requirements for the PC used to compile applications and program the nodes are:
PC
CPU | Intel Pentium III or higher, 800 MHz
RAM | 128 MB
Hard disk free space | 50 MB
Software
Operating system | Windows2000/XP
USB driver | CP210x USB to UART Bridge VCP Driver
Java machine | Java Runtime Environment JRE 5.0 Update 8 (version 1.5.0)
Compiler | AVR GCC 4.1.2 compiler available within the WinAVR 20070525 package.

To upload the firmware to the boards, you may use either JTAGICE mkII emulator in conjunction with AVR Studio or the Serial Bootloader utility.

How to build

Source codes of all sample applications along with the corresponding configuration files are given at [ZDK]\Sample Applications\. Hereafter, [ZDK] denotes the root folder for ZDK installation. The compiled firmware image files are also contained in the same directory. However, it is not necessary to retain these files, since you can rebuild them at any time.

The BitCloud library and Makerules files are contained at [ZDK]\BitCloud\lib\. The choice of the particular library to include is made at the time of compilation based on the application's configuration parameters.

To compile an application, run make utility from the directory where its Makefile is located:

make clean all
Otherwise, find the corresponding *.aps file in the same directory, open it with AVR Studio and just press Build\Rebuild All in the main menu. The *.hex and *.srec image files will be generated. Now you may upload one of the image files onto a MeshBean board.

Programming the Boards

The boards can be programmed in one of the two ways: either by Serial Bootloader utility, or under AVR Studio using JTAG emulator, for example, JTAGICE mkII from Atmel.

Fuse bits should be set to the following values (in hex representation): 0xFF, 0x9C, 0x62 (factory default) when using Serial Bootloader, or 0xFF, 0x9D, 0x62 when using JTAG.

To learn more, see the Serial Bootloader User's Guide or the ZDK User's Guide contained in this kit.

Connecting to PC

Most of the sample applications imply some interaction with a PC (although they may be run as well without connecting to PC, when the only observation of the state and activities of the boards is performed by their LEDs). While WSNDemo uses a special custom program named WSN Monitor, other programs need just a general-purpose terminal application. The connection parameters must be set as follows (unless stated otherwise for a particular application):
Parameter | Value
Data Rate | 38400 bps
Data Bits | 8
Parity | None
Stop Bits | 1
Flow Control | None

Configuration parameters

Most of the user-adjustable application's configuration parameters are isolated in a file named Configuration which is then included in the Makefile.

Channel selection

To select a channel to work on, the user may change the channel mask definition (APP_CHANNEL_MASK) in the application's configuration file, recompile the application and burn it into the nodes. By default, the channel is set either to 0x16 or to 0x18 for devices working in the 2.4 GHz band (ZigBit, ZigBit Amp) or to 0x00 for those working in the 868/915 MHz band (ZigBit 900).

Security

By default, the NWK layer security implemented in BitCloud stack is switched off. The compiled stack libraries are supplied in versions for coordinator, router, end device, and all devices. Each of them is presented in two variants: "Security ON" and "Security OFF", thus making a total of 8 libraries. The choice of a particular library to include when compiling an application is defined by the values of STACK_TYPE and SECURITY_MODE parameters in its configuration file.

To switch on the security in an application, one should perform the following changes in its configuration file: change the SECURITY_MODE value to STD_SECURITY and select one of the two following modes of operation:

  • CS_ZDO_SECURITY_STATUS=0. All devices in a network must have the same preconfigured network key (CS_NETWORK_KEY) defined in the configuration file.
  • CS_ZDO_SECURITY_STATUS=3. One of the devices in a network (usually a coordinator) must be configured as Trust Center, i.e. to have CS_UID equal to CS_APS_TRUST_CENTER_ADDRESS and the network key (CS_NETWORK_KEY) defined in the configuration file. All other devices in the network must be provided with CS_APS_TRUST_CENTER_ADDRESS to be able to establish connection with the Trust Center, but must have no CS_NETWORK_KEY defined.

Note that switching on security option enlarges firmware image, so that for some programs it may become too large to fit into the board's memory. In such case, the user may try to reduce it by decreasing CS_NEIB_TABLE_SIZE, CS_ROUTE_TABLE_SIZE, CS_MAX_CHILDREN_AMOUNT and other parameters that control memory allocation.

Generated on Tue Jun 3 12:45:19 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: Application Support sub-layer

  • Functions Summary
  • Sample Applications
  • APS
  • ZDO
  • Frame Format
  • Information Base
  • Status Parameters

APS Sub-Layer Status Parameters

Application support (APS) sub-layer confirm primitives often include a parameter that reports on the status of the request to which the confirmation applies:

  • A request has been executed successfully
  • A transmit request failed since the ASDU is too large and fragmentation is not supported
  • A received fragmented frame could not be defragmented at the current time
  • A received fragmented frame could not be defragmented since the device does not support fragmentation
  • A parameter value was out of range
  • An APSME-UNBIND.request failed due to the requested binding link not existing in the binding table
  • An APSME-REMOVE-GROUP.request has been issued with a group identifier that does not appear in the group table
  • A parameter value was invalid or out of range
  • An APSDE-DATA.request requesting acknowledged transmission failed due to no acknowledgement being received
  • An APSDE-DATA.request with a destination addressing mode set to 0x00 failed due to there being no devices bound to this device
  • An APSDE-DATA.request with a destination addressing mode set to 0x03 failed due to no corresponding short address found in the address map table
  • An APSDE-DATA.request with a destination addressing mode set to 0x00 failed due to a binding table not being supported on the device
  • An ASDU was received that was secured using a link key
  • An ASDU was received that was secured using a network key
  • An APSDE-DATA.request requesting security has resulted in an error during the corresponding security processing
  • An APSME-BIND.request or APSME.ADDGROUP.request issued when the binding or group tables, respectively, were full
  • An ASDU was received without any security
  • An APSME-GET.request or APSME-SET.request has been issued with an unknown attribute identifier
  • Status not indicated

See also:
APS Functions and Data Structures
APS Frame format
APS Information Base

Generated on Wen Oct 1 12:45:19 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1


Throughput Test Application Source File

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Source code

throughputTest.c

Back to Throughput Test sample application.

00001
00017 #include "throughputTest.h"
00018
00019 #ifdef TEST_NETWORK
00020   #undef _BUTTONS_
00021   #undef _SLIDERS_
00022 #endif // TEST_NETWORK
00023
00024 #define TIMER_STARTING_NETWORK 500 // Period of blinking during starting network
00025
00026 typedef enum  // Application states
00027 {
00028   APP_INITING_STATE,
00029   APP_NETWORK_STARTING_STATE,
00030   APP_IN_NETWORK_STATE,
00031   APP_NO_NETWORK_STATE
00032 } AppState_t;
00033
00034 /***********************************************************************************
00035   Global variables
00036 ***********************************************************************************/
00037 DeviceType_t   appDeviceType; // Device type (Coordinator/Router/End device)
00038 uint64_t       appUid;      // Unique ID of the device
00039 APS_RegisterEndpointReq_t endpointParams; // Endpoint parameters
00040
00041 /***********************************************************************************
00042   Local variables
00043  ***********************************************************************************/
00044 static AppState_t             appState = APP_INITING_STATE; // Current application state
00045 static ZDO_StartNetworkReq_t  networkParams; // Start network request parameters
00046
00047 // Endpoint parameters
00048 static SimpleDescriptor_t simpleDescriptor = {END_POINT, 1, 1, 1, 0, 0 , NULL, 0, NULL};
00049
00050 static HAL_AppTimer_t  startingNetworkTimer; // Timer indicating starting network
00051 static HAL_AppTimer_t  delayTimer; // Timer period of waiting after network start
00052
00053 /***********************************************************************************
00054   Local functions
00055  ***********************************************************************************/
00056 static void ZDO_StartNetworkConf(ZDO_StartNetworkConf_t *confirmInfo); // Network start/join confirmation callback
00057
00058 /********************************************************************
00059   Description: Network starting timer has fired. Toggle indication
00060
00061   Parameters: none.
00062
00063   Returns: nothing.
00064 ********************************************************************/
00065 void startingNetworkTimerFired(void)
00066 {
00067   BSP_ToggleLed(NETWORK_LED);
00068 }
00069
00070 /********************************************************************
00071   Description: Application task handler
00072
00073   Parameters: none.
00074
00075   Returns: nothing.
00076 ********************************************************************/
00077 void APL_TaskHandler(void)
00078 {
00079   uint8_t sliders;
00080
00081   switch (appState)
00082   {
00083     // Node has initial state
00084     case APP_INITING_STATE:
00085
00086 #ifdef _LEDS_
00087       BSP_OpenLeds();
00088 #endif //_LEDS_
00089       endpointParams.simpleDescriptor = &simpleDescriptor;
00090
00091 #ifdef _SLIDERS_
00092       sliders = BSP_ReadSliders();
00093 #else
00094       sliders = 0x00;
00095   #ifdef APP_DEV_TYPE_COORDINATOR
00096       sliders |= SLIDER0;
00097   #elif defined APP_DEV_TYPE_ROUTER
00098       sliders |= SLIDER1;
00099   #elif defined APP_DEV_TYPE_ENDDEVICE
00100       sliders |= SLIDER2;
00101   #endif
00102 #endif //_SLIDERS_
00103
00104       // Setting device type
00105       if (sliders & SLIDER0)
00106       {
00107         // Coordinator
00108         appDeviceType = DEVICE_TYPE_COORDINATOR;
00109         endpointParams.APS_DataInd = APS_DataIndCoord;
00110       }
00111       else
00112       {
00113         // All other states mean Router
00114         appDeviceType = DEVICE_TYPE_ROUTER;
00115         endpointParams.APS_DataInd = NULL;
00116       }
00117       CS_WriteParameter(CS_DEVICE_TYPE_ID, &appDeviceType);
00118 #if defined(APP_UID)
00119       appUid = APP_UID;
00120 #else
00121       if (DEVICE_TYPE_COORDINATOR == appDeviceType)
00122         appUid = COORDINATOR_EXT_PANID;
00123       else
00124         HAL_ReadUid(&appUid);
00125 #endif
00126       CS_WriteParameter(CS_UID_ID, &appUid);
00127       appInitUARTManager();  // Init UART manager
00128
00129       // Configure and start network starting timer
00130       startingNetworkTimer.interval = TIMER_STARTING_NETWORK;
00131       startingNetworkTimer.mode     = TIMER_REPEAT_MODE;
00132       startingNetworkTimer.callback = startingNetworkTimerFired;
00133       HAL_StartAppTimer(&startingNetworkTimer);
00134
00135       appState = APP_NETWORK_STARTING_STATE; // Switch state
00136       SYS_PostTask(APL_TASK_ID);
00137       break;
00138
00139     case APP_NETWORK_STARTING_STATE:
00140       {
00141         // Configure network start parameters
00142         uint32_t chMask = CS_CHANNEL_MASK;
00143         ExtAddr_t extPanId = COORDINATOR_EXT_PANID;
00144
00145         networkParams.ZDO_StartNetworkConf = ZDO_StartNetworkConf;
00146         CS_WriteParameter(CS_CHANNEL_MASK_ID, &chMask);
00147         CS_WriteParameter(CS_EXT_PANID_ID, &extPanId);
00148
00149         // Start network
00150         ZDO_StartNetworkReq(&networkParams);
00151         break;
00152       }
00153
00154     // Node is in network
00155     case APP_IN_NETWORK_STATE:
00156
00157       // Process task dependent on device type
00158       switch (appDeviceType)
00159       {
00160         case DEVICE_TYPE_COORDINATOR:
00161           appCoordTaskHandler();
00162           break;
00163
00164         case DEVICE_TYPE_ROUTER:
00165           appRouterTaskHandler();
00166           break;
00167
00168         case DEVICE_TYPE_END_DEVICE:
00169         default:
00170           break;
00171       }
00172
00173     // Node is out of network
00174     case APP_NO_NETWORK_STATE:
00175       break;
00176
00177     default:
00178       break;
00179   }
00180 }
00181
00182 /********************************************************************
00183   Description: Delay after network start/join has fired
00184
00185   Parameters: none.
00186
00187   Returns: nothing.
00188 ********************************************************************/
00189 static void delayTimerFired(void)
00190 {
00191   SYS_PostTask(APL_TASK_ID);
00192 }
00193
00194 /********************************************************************
00195   Description: ZDO_StartNetwork primitive confirmation was received.
00196
00197   Parameters: confirmInfo - confirmation information
00198
00199   Returns: nothing.
00200 ********************************************************************/
00201 static void ZDO_StartNetworkConf(ZDO_StartNetworkConf_t *confirmInfo)
00202 {
00203   if (ZDO_SUCCESS_STATUS == confirmInfo->status)
00204   {
00205     HAL_StopAppTimer(&startingNetworkTimer);
00206     BSP_OnLed(NETWORK_LED); // Indicate successful network join by turning LED on
00207
00208     appState = APP_IN_NETWORK_STATE; // Switch state
00209
00210     // Register endpoint
00211     CS_WriteParameter(CS_STACK_PROFILE_ID, &endpointParams.simpleDescriptor->AppProfileId);
00212     APS_RegisterEndpointReq(&endpointParams);
00213
00214     // Configure and start delay timer
00215     delayTimer.interval = TIMER_DELAY_PERIOD;
00216     delayTimer.mode     = TIMER_ONE_SHOT_MODE;
00217     delayTimer.callback = delayTimerFired;
00218     HAL_StartAppTimer(&delayTimer);
00219   }
00220   else
00221   {
00222     SYS_PostTask(APL_TASK_ID);
00223   }
00224 }
00225
00226 /********************************************************************
00227   Description: ZDO_MgmtNwkUpdateNotf primitive confirmation was received
00228
00229   Parameters: nwkParams - updated network parameters
00230
00231   Returns: nothing.
00232 ********************************************************************/
00233 void ZDO_MgmtNwkUpdateNotf(ZDO_MgmtNwkUpdateNotf_t *nwkParams)
00234 {
00235   // Network is lost/left
00236   if (ZDO_NETWORK_LOST_STATUS == nwkParams->status)
00237   {
00238     HAL_StartAppTimer(&startingNetworkTimer); // Start indication of network join process
00239     appState = APP_NETWORK_STARTING_STATE;    // In order to rejoin, switch application to network starting state
00240
00241     SYS_PostTask(APL_TASK_ID);
00242   }
00243 }
00244
00245
00246 /********************************************************************
00247   Description: dummy wakeup event handler
00248
00249   Parameters: none.
00250
00251   Returns: nothing.
00252 ********************************************************************/
00253 void ZDO_WakeUpInd(void)
00254 {
00255 }
00256
00257 /********************************************************************
00258   Description: dummy sleep event handler
00259
00260   Parameters: none.
00261
00262   Returns: nothing.
00263 ********************************************************************/
00264 void ZDO_SleepInd(void)
00265 {
00266 }
00267
00268 // eof throughputTest.c
Generated on Tue Feb 17 16:44:56 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


WSNDemo Application: Source File

  • Functions Summary
  • Sample Applications
  • Blink
  • Lowpower
  • Peer2peer
  • Ping-pong
  • Throughput Test
  • WSNDemo
  • Source code

WSNDemoApp.c

Back to WSNDemo sample application.

00001 /**********************************************************************/00017 #include <WSNDemoApp.h>
00018 #include <WSNVisualizer.h>
00019 #include <taskManager.h>
00020 #include <zdo.h>
00021 #include <configServer.h>
00022 #include <aps.h>
00023 #include <mac.h>
00024
00025 #if defined _POWER_FAILURE_ && defined _BUTTONS_
00026   #include <pdsDataServer.h>
00027   #include <resetReason.h>
00028 #endif // defined _POWER_FAILURE_ && defined _BUTTONS_
00029
00030 #ifdef _DBG_
00031   #include <dbgPort.h>
00032 #endif // _DBG_
00033
00034 #define TIMER_STARTING_NETWORK 500 // Period of blinking during starting network
00035 #define TIMER_WAKEUP 50 // Wakeup period
00036
00037 /***********************************************************************************
00038   Types
00039 ***********************************************************************************/
00040 typedef enum
00041 {
00042   START_BLINKING,
00043   STOP_BLINKING
00044 } BlinkingAction_t;
00045
00046
00047 /***********************************************************************************
00048   Prototypes
00049 ***********************************************************************************/
00050 void APS_DataIndCoord(APS_DataInd_t *indData);
00051 void APS_DataIndRouter(APS_DataInd_t *indData);
00052 void APS_DataIndDevice(APS_DataInd_t *indData);
00053 void appPostSubTaskTask();
00054 void appPostGlobalTask();
00055 /***********************************************************************************
00056   Global variables
00057  ***********************************************************************************/
00058 AppState_t     appState        = APP_INITING_STATE;//application state
00059 DeviceState_t  appDeviceState  = INITIAL_DEVICE_STATE;
00060
00061 AppMessageRequest_t  appMessage;
00062 //request parameters for APS_DataReq primitive
00063 APS_DataReq_t  messageParams;
00064 HAL_AppTimer_t deviceTimer;
00065 uint8_t failedTransmission = 0;
00066 //static bool globalTaskRequested = false;
00067
00068 /***********************************************************************************
00069   Local variables
00070  ***********************************************************************************/
00071 static DeviceType_t           deviceType;
00072 static ZDO_StartNetworkReq_t  networkParams; //request params for ZDO_StartNetworkReq
00073 //endpoint parameters
00074 SimpleDescriptor_t        simpleDescriptor = {1, 1, 1, 1, 0, 0 , NULL, 0, NULL};
00075 static APS_RegisterEndpointReq_t endpointParams;
00076 // Timer indicating starting network
00077 static HAL_AppTimer_t startingNetworkTimer;
00078 static ZDO_ZdpReq_t leaveReq;
00079
00080 /***********************************************************************************
00081   Local functions
00082  ***********************************************************************************/
00083 static void ZDO_StartNetworkConf(ZDO_StartNetworkConf_t *confirmInfo);
00084 static void startingNetworkTimerFired();
00085 static void zdpLeaveResp(ZDO_ZdpResp_t *zdpResp);
00086 static void initSubStateMachine();
00087 static void appTaskHandler(AppEvent_t event, void *param);
00088 static void manageBlinkingDuringRejoin(BlinkingAction_t action);
00089
00090 /***********************************************************************************
00091   Implementation
00092  ***********************************************************************************/
00093
00094
00095 /***********************************************************************************
00096   Application task.
00097
00098   Parameters:
00099     none
00100
00101   Return:
00102     none
00103
00104  ***********************************************************************************/
00105 void APL_TaskHandler()
00106 {
00107 #ifdef _DBG_
00108   configure_dbgu();
00109 #endif // _DBG_
00110   appTaskHandler(APP_PROCESS, NULL);
00111 }
00112
00113 static void appTaskHandler(AppEvent_t event, void *param)
00114 {
00115   bool rxOnWhenIdleFlag = true;
00116   uint8_t sliders;
00117
00118   switch (appState)
00119   {
00120     //node is in network
00121     case APP_IN_NETWORK_STATE:
00122     {
00123       switch (event)
00124       {
00125         case APP_PROCESS:
00126         {
00127 #ifdef _COORDINATOR_
00128           if (deviceType == DEVICE_TYPE_COORDINATOR)
00129             appCoordinatorTaskHandler(APP_PROCESS, NULL);
00130 #endif
00131 #ifdef _ROUTER_
00132           if (deviceType == DEVICE_TYPE_ROUTER)
00133             appRouterTaskHandler(APP_PROCESS, NULL);
00134 #endif
00135 #ifdef _ENDDEVICE_
00136           if (deviceType == DEVICE_TYPE_END_DEVICE)
00137             appEndDeviceTaskHandler(APP_PROCESS, NULL);
00138 #endif
00139           break;
00140         }
00141
00142         case APP_NETWORK_STATE_UPDATED:
00143         {
00144           ZDO_MgmtNwkUpdateNotf_t *updateParam = param;
00145
00146           switch (updateParam->status)
00147           {
00148             case ZDO_NETWORK_LOST_STATUS:
00149               SYS_WriteLog(0x03, SYS_LOG_LEVEL_5);
00150               appState = APP_STOP_STATE;
00151               break;
00152
00153             case ZDO_NETWORK_LEFT_STATUS:
00154               SYS_WriteLog(0x04, SYS_LOG_LEVEL_5);
00155               appState = APP_STARTING_NETWORK_STATE;
00156               visualizeNwkLeft();
00157               failedTransmission = 0;
00158               appPostGlobalTask();
00159               break;
00160
00161             case ZDO_NWK_UPDATE_STATUS:
00162             case ZDO_NETWORK_STARTED_STATUS:
00163               // Update parameters being sent to coordinator
00164               appMessage.data.shortAddr       = updateParam->nwkUpdateInf.shortAddr;
00165               appMessage.data.panID           = updateParam->nwkUpdateInf.panId;
00166               appMessage.data.parentShortAddr = updateParam->nwkUpdateInf.parentShortAddr;
00167               appMessage.data.workingChannel  = updateParam->nwkUpdateInf.currentChannel;
00168               break;
00169
00170             default:
00171               break;
00172           }
00173         }
00174
00175         default:
00176           break;
00177       }
00178       break;
00179     }
00180
00181     case APP_INITING_STATE: //node has initial state
00182     {
00183       switch (event)
00184       {
00185         case APP_PROCESS:
00186         {
00187           visualizeAppStarting();
00188 #ifdef _COORDINATOR_
00189           if (DEVICE_TYPE_COORDINATOR == appMessage.data.nodeType)
00190             appStartUARTManager();  //init UART manager
00191           else
00192 #endif
00193           SYS_InitLog();
00194
00195 #if defined _POWER_FAILURE_ && defined _BUTTONS_
00196           bool powerFailure;
00197
00198           CS_ReadParameter(CS_POWER_FAILURE_ID, &powerFailure);
00199
00200           if (powerFailure)
00201           {
00202             appOpenButtons(NULL, NULL);
00203             // check up the first button on a pressed state
00204             if (appReadButtonsState() & 0x01)
00205             {
00206               // the button is pressed
00207               PDS_SetToDefault();
00208               HAL_WarmReset(); // Reset the system.
00209             }
00210             appCloseButtons();
00211           }
00212 #endif // defined _POWER_FAILURE_ && defined _BUTTONS_
00213
00214           uint64_t extPanId = COORDINATOR_EXT_PANID;
00215           CS_WriteParameter(CS_EXT_PANID_ID, &extPanId);
00216
00217           endpointParams.simpleDescriptor = &simpleDescriptor;
00218
00219           // Setting device type
00220       sliders = appReadSliders();
00221
00222           if (SLIDER0 & sliders)
00223           { // Coordinator
00224 #ifdef _COORDINATOR_
00225 #ifdef _SECURITY_
00226             CS_WriteParameter(CS_UID_ID, &extPanId);
00227             CS_WriteParameter(CS_APS_TRUST_CENTER_ADDRESS_ID, &extPanId);
00228 #endif
00229             appMessage.data.nodeType = DEVICE_TYPE_COORDINATOR;
00230             endpointParams.APS_DataInd = APS_DataIndCoord;
00231 #endif
00232           }
00233           else
00234           {
00235             if (SLIDER1 & sliders)
00236             {  // Router
00237 #ifdef _ROUTER_
00238               appMessage.data.nodeType = DEVICE_TYPE_ROUTER;
00239               endpointParams.APS_DataInd = APS_DataIndRouter;
00240 #endif
00241             }
00242             else
00243             { // All other states are end device
00244 #ifdef _ENDDEVICE_
00245               appMessage.data.nodeType = DEVICE_TYPE_END_DEVICE;
00246               endpointParams.APS_DataInd = APS_DataIndDevice;
00247 #endif
00248             }
00249           }
00250           // For not coordinator CS_UID is set to equal UID chip by ZDO before
00251           { // To remove unalignment access warning for ARM.
00252             ExtAddr_t extAddr;
00253
00254             CS_ReadParameter(CS_UID_ID, &extAddr);
00255             appMessage.data.extAddr = extAddr;
00256           }
00257           APS_RegisterEndpointReq(&endpointParams);
00258
00259           // it is needed because devType is 2 bytes and nodeType is 1 byte
00260           deviceType = appMessage.data.nodeType;
00261           CS_WriteParameter(CS_DEVICE_TYPE_ID, &deviceType);
00262
00263           if (DEVICE_TYPE_END_DEVICE == appMessage.data.nodeType)
00264           {
00265             rxOnWhenIdleFlag = false;
00266             CS_WriteParameter(CS_RX_ON_WHEN_IDLE_ID, &rxOnWhenIdleFlag);
00267           }
00268           else
00269           {
00270             rxOnWhenIdleFlag = true;
00271             CS_WriteParameter(CS_RX_ON_WHEN_IDLE_ID, &rxOnWhenIdleFlag);
00272           }
00273
00274           SYS_WriteLog(0x00, SYS_LOG_LEVEL_5);
00275
00276           appMessage.data.messageType     = APP_DATA_MESSAGE_TYPE;
00277           appMessage.data.channelMask     = CS_CHANNEL_MASK;
00278           appMessage.data.softVersion     = 0x01010100;
00279           appMessage.data.boardType       = MESHBEAN_SENSORS_TYPE;
00280           appMessage.data.sensorsSize     = sizeof(appMessage.data.meshbean);
00281
00282           startingNetworkTimer.interval = TIMER_STARTING_NETWORK;
00283           startingNetworkTimer.mode     = TIMER_REPEAT_MODE;
00284           startingNetworkTimer.callback = startingNetworkTimerFired;
00285
00286           appState = APP_STARTING_NETWORK_STATE;
00287           appPostGlobalTask();
00288           break;
00289         }
00290
00291         default:
00292           break;
00293       }
00294       break;
00295     }
00296
00297     case APP_STARTING_NETWORK_STATE:
00298     {
00299       switch (event)
00300       {
00301         case APP_PROCESS:
00302           manageBlinkingDuringRejoin(START_BLINKING);
00303           visualizeNwkStarting();
00304           failedTransmission = 0;
00305
00306           SYS_WriteLog(0x01, SYS_LOG_LEVEL_5);
00307           // Start network
00308           networkParams.ZDO_StartNetworkConf = ZDO_StartNetworkConf;
00309           ZDO_StartNetworkReq(&networkParams);
00310           break;
00311
00312         case APP_NETWORK_STARTING_DONE:
00313         {
00314           ZDO_StartNetworkConf_t *startInfo = param;
00315           manageBlinkingDuringRejoin(STOP_BLINKING);
00316           if (ZDO_SUCCESS_STATUS == startInfo->status)
00317           {
00318             SYS_WriteLog(0x02, SYS_LOG_LEVEL_5);
00319             appState = APP_IN_NETWORK_STATE;
00320             failedTransmission = 0;
00321
00322             visualizeNwkStarted();
00323             // Network parameters, such as short address, should be saved
00324             appMessage.data.panID           = startInfo->PANId;
00325             appMessage.data.shortAddr       = startInfo->shortAddr;
00326             appMessage.data.parentShortAddr = startInfo->parentAddr;
00327             appMessage.data.workingChannel  = startInfo->activeChannel;
00328             initSubStateMachine();
00329           }
00330           else
00331             appPostGlobalTask();
00332           break;
00333         }
00334
00335         case APP_NETWORK_STATE_UPDATED:
00336         {
00337           ZDO_MgmtNwkUpdateNotf_t *updateParam = param;
00338           switch (updateParam->status)
00339           {
00340             case ZDO_NETWORK_STARTED_STATUS:
00341               SYS_WriteLog(0x0C, SYS_LOG_LEVEL_5);
00342               // Network parameters, such as short address, should be saved
00343               appMessage.data.panID           = updateParam->nwkUpdateInf.panId;
00344               appMessage.data.shortAddr       = updateParam->nwkUpdateInf.shortAddr;
00345               appMessage.data.parentShortAddr = updateParam->nwkUpdateInf.parentShortAddr;
00346               appMessage.data.workingChannel  = updateParam->nwkUpdateInf.currentChannel;
00347               manageBlinkingDuringRejoin(STOP_BLINKING);
00348
00349               appState = APP_IN_NETWORK_STATE;
00350               failedTransmission = 0;
00351               visualizeNwkStarted();
00352               initSubStateMachine();
00353               break;
00354             default:
00355               break;
00356           }
00357         }
00358         default: break;
00359       }
00360       break;
00361     }
00362     case APP_LEAVING_NETWORK_STATE:
00363     {
00364       ZDO_MgmtLeaveReq_t *zdpLeaveReq = &leaveReq.req.reqPayload.mgmtLeaveReq;
00365
00366       switch(event)
00367       {
00368         case APP_PROCESS:
00369           SYS_WriteLog(0x0A, SYS_LOG_LEVEL_5);
00370           visualizeNwkLeaving();
00371           leaveReq.ZDO_ZdpResp =  zdpLeaveResp;
00372           leaveReq.reqCluster = MGMT_LEAVE_CLID;
00373           leaveReq.dstAddrMode = EXT_ADDR_MODE;
00374           leaveReq.dstExtAddr = 0;
00375           zdpLeaveReq->deviceAddr = 0;
00376           zdpLeaveReq->rejoin = 0;
00377           zdpLeaveReq->removeChildren = 1;
00378           zdpLeaveReq->reserved = 0;
00379           ZDO_ZdpReq(&leaveReq);
00380           break;
00381
00382         case APP_LEAVE_DONE:
00383           if (ZDO_SUCCESS_STATUS == ((ZDO_ZdpResp_t *)param)->respPayload.status)
00384           {
00385             SYS_WriteLog(0x0B, SYS_LOG_LEVEL_5);
00386             appState = APP_STOP_STATE;
00387           }
00388           appPostGlobalTask();
00389           break;
00390
00391         case APP_NETWORK_STATE_UPDATED:
00392         {
00393           ZDO_MgmtNwkUpdateNotf_t *updateParam = param;
00394
00395           switch (updateParam->status)
00396           {
00397             case ZDO_NETWORK_LOST_STATUS:
00398               SYS_WriteLog(0x03, SYS_LOG_LEVEL_5);
00399               appState = APP_STOP_STATE;
00400               break;
00401             case ZDO_NETWORK_LEFT_STATUS:
00402               SYS_WriteLog(0x04, SYS_LOG_LEVEL_5);
00403               appState = APP_STARTING_NETWORK_STATE;
00404               appPostGlobalTask();
00405               break;
00406             default:
00407               break;
00408           }
00409           break;
00410         }
00411
00412         default:
00413           break;
00414       }
00415       break;
00416     }
00417
00418     case APP_STOP_STATE:
00419     {
00420       switch(event)
00421       {
00422         case APP_NETWORK_STATE_UPDATED:
00423         {
00424           ZDO_MgmtNwkUpdateNotf_t *updateParam = param;
00425
00426           switch (updateParam->status)
00427           {
00428             case ZDO_NETWORK_STARTED_STATUS:
00429               SYS_WriteLog(0x0C, SYS_LOG_LEVEL_5);
00430               appState = APP_IN_NETWORK_STATE;
00431               appMessage.data.shortAddr       = updateParam->nwkUpdateInf.shortAddr;
00432               appMessage.data.panID           = updateParam->nwkUpdateInf.panId;
00433               appMessage.data.parentShortAddr = updateParam->nwkUpdateInf.parentShortAddr;
00434               appMessage.data.workingChannel  = updateParam->nwkUpdateInf.currentChannel;
00435               appPostGlobalTask();
00436               break;
00437
00438             case ZDO_NETWORK_LEFT_STATUS:
00439               SYS_WriteLog(0x04, SYS_LOG_LEVEL_5);
00440               appState = APP_STARTING_NETWORK_STATE;
00441               appPostGlobalTask();
00442               break;
00443
00444             default:
00445               break;
00446           }
00447         }
00448         default:
00449           break;
00450       }
00451       break;
00452     }
00453
00454     default:
00455       break;
00456   }
00457 }
00458
00459 // The response means that the command has been received successfully but not precessed yet
00460 static void zdpLeaveResp(ZDO_ZdpResp_t *zdpResp)
00461 {
00462   appTaskHandler(APP_LEAVE_DONE, zdpResp);
00463 }
00464
00465 /***********************************************************************************
00466   ZDO_StartNetwork primitive confirmation was received.
00467
00468   Parameters:
00469     confirmInfo - confirmation information
00470
00471   Return:
00472     none
00473
00474  ***********************************************************************************/
00475 static void ZDO_StartNetworkConf(ZDO_StartNetworkConf_t *confirmInfo)
00476 {
00477   appTaskHandler(APP_NETWORK_STARTING_DONE, confirmInfo);
00478 }
00479
00480
00481 void ZDO_MgmtNwkUpdateNotf(ZDO_MgmtNwkUpdateNotf_t *nwkParams)
00482 {
00483   appTaskHandler(APP_NETWORK_STATE_UPDATED, nwkParams);
00484 }
00485
00486 void ZDO_WakeUpInd()
00487 {
00488 #ifdef _ENDDEVICE_
00489   if (APP_IN_NETWORK_STATE == appState)
00490   {
00491     appEndDeviceTaskHandler(APP_WOKEUP, NULL);
00492   }
00493 #endif
00494 }
00495
00496 // For blinking
00497 static void startingNetworkTimerFired()
00498 {
00499   visualizeNwkStarting();
00500 }
00501
00502 void initSubStateMachine()
00503 {
00504 #ifdef _COORDINATOR_
00505   if (deviceType == DEVICE_TYPE_COORDINATOR)
00506     appInitDeviceCoordinator();
00507 #endif
00508 #ifdef _ROUTER_
00509   if (deviceType == DEVICE_TYPE_ROUTER)
00510     appInitDeviceRouter();
00511 #endif
00512 #ifdef _ENDDEVICE_
00513   if (deviceType == DEVICE_TYPE_END_DEVICE)
00514     appInitDeviceEndDevice();
00515 #endif
00516 }
00517
00518 void appReadLqiRssi(void)
00519 {
00520   ZDO_GetLqiRssi_t lqiRssi;
00521
00522   lqiRssi.nodeAddr = appMessage.data.parentShortAddr;
00523   ZDO_GetLqiRssi(&lqiRssi);
00524
00525   appMessage.data.lqi  = lqiRssi.lqi;
00526   appMessage.data.rssi = lqiRssi.rssi;
00527 }
00528
00529 static void manageBlinkingDuringRejoin(BlinkingAction_t action)
00530 {
00531   static bool run = false;
00532
00533   if (START_BLINKING == action)
00534   {
00535     if (!run)
00536     {
00537       HAL_StartAppTimer(&startingNetworkTimer);
00538       run = true;
00539     }
00540   }
00541
00542   if (STOP_BLINKING == action)
00543   {
00544     run = false;
00545     HAL_StopAppTimer(&startingNetworkTimer);
00546   }
00547 }
00548
00549 void appPostGlobalTask()
00550 {
00551   SYS_PostTask(APL_TASK_ID);
00552 }
00553
00554 void appPostSubTaskTask()
00555 {
00556   SYS_PostTask(APL_TASK_ID);
00557 }
00558
00559 void appLeaveNetwork()
00560 {
00561   if (APP_IN_NETWORK_STATE == appState)
00562   {
00563     appState = APP_LEAVING_NETWORK_STATE;
00564     appPostGlobalTask();
00565   }
00566 }
00567
00568 //eof WSNDemoApp.c
00569
Generated on Tue Feb 17 16:44:56 2009 for BitCloud Stack Documentation by doxygen 1.5.1-p1


BitCloud Stack Documentation: ZigBee Device Objects

  • Functions Summary
  • Sample Applications
  • APS
  • ZDO
  • Device and Service Discovery
  • Network Management
  • Power Management

ZigBee Device Objects

The ZigBee device objects (ZDO), represent a base class of functionality that provides an interface between the application objects, the device profile, and the APS. The ZDO is located between the application framework and the application support sub-layer. The ZDO is responsible for the following:

  • Initializing the application support sub-layer (APS), the network layer (NWK), and the Security Service Provider.
  • Assembling configuration information from the end applications to determine and implement discovery, security management, network management, and binding management.

The ZDO presents public interfaces to the application objects in the application framework layer for control of device and network functions by the application objects. The public interface provides address management of the device, discovery, binding, and security functions within the application framework layer of the ZigBee protocol stack.

See also: ZDO Functions and Data Structures

Generated on Tue Jun 3 12:45:19 2008 for BitCloud Stack Documentation by doxygen 1.5.1-p1